| 1 |
typedef unsigned char UChar; |
= |
1 |
typedef unsigned char UChar; |
| 2 |
typedef signed char Char; |
|
2 |
typedef signed char Char; |
| 3 |
typedef char HChar; |
|
3 |
typedef char HChar; |
| 4 |
typedef unsigned short UShort; |
|
4 |
typedef unsigned short UShort; |
| 5 |
typedef short Short; |
|
5 |
typedef short Short; |
| 6 |
typedef unsigned int UInt; |
|
6 |
typedef unsigned int UInt; |
| 7 |
typedef int Int; |
|
7 |
typedef int Int; |
| 8 |
typedef unsigned long long ULong; |
|
8 |
typedef unsigned long long ULong; |
| 9 |
typedef long long Long; |
|
9 |
typedef long long Long; |
| 10 |
typedef UInt U128[4]; |
|
10 |
typedef UInt U128[4]; |
| 11 |
union __anonunion_V128_1 { |
|
11 |
union __anonunion_V128_1 { |
| 12 |
UChar w8[16] ; |
|
12 |
UChar w8[16] ; |
| 13 |
UShort w16[8] ; |
|
13 |
UShort w16[8] ; |
| 14 |
UInt w32[4] ; |
|
14 |
UInt w32[4] ; |
| 15 |
ULong w64[2] ; |
|
15 |
ULong w64[2] ; |
| 16 |
}; |
|
16 |
}; |
| 17 |
typedef union __anonunion_V128_1 V128; |
|
17 |
typedef union __anonunion_V128_1 V128; |
| 18 |
typedef float Float; |
|
18 |
typedef float Float; |
| 19 |
typedef double Double; |
|
19 |
typedef double Double; |
| 20 |
typedef unsigned char Bool; |
|
20 |
typedef unsigned char Bool; |
| 21 |
typedef UInt Addr32; |
|
21 |
typedef UInt Addr32; |
| 22 |
typedef ULong Addr64; |
|
22 |
typedef ULong Addr64; |
| 23 |
typedef unsigned long HWord; |
|
23 |
typedef unsigned long HWord; |
| 24 |
typedef __builtin_va_list __gnuc_va_list; |
|
24 |
typedef __builtin_va_list __gnuc_va_list; |
| 25 |
typedef __gnuc_va_list va_list; |
|
25 |
typedef __gnuc_va_list va_list; |
| 26 |
typedef unsigned long UWord; |
|
26 |
typedef unsigned long UWord; |
| 27 |
typedef long Word; |
|
27 |
typedef long Word; |
| 28 |
typedef UWord Addr; |
|
28 |
typedef UWord Addr; |
| 29 |
typedef UWord AddrH; |
|
29 |
typedef UWord AddrH; |
| 30 |
typedef UWord SizeT; |
|
30 |
typedef UWord SizeT; |
| 31 |
typedef Word SSizeT; |
|
31 |
typedef Word SSizeT; |
| 32 |
typedef Word PtrdiffT; |
|
32 |
typedef Word PtrdiffT; |
| 33 |
typedef Word OffT; |
|
33 |
typedef Word OffT; |
| 34 |
typedef Long Off64T; |
|
34 |
typedef Long Off64T; |
| 35 |
struct __anonstruct_UWordPair_2 { |
|
35 |
struct __anonstruct_UWordPair_2 { |
| 36 |
UWord uw1 ; |
|
36 |
UWord uw1 ; |
| 37 |
UWord uw2 ; |
|
37 |
UWord uw2 ; |
| 38 |
}; |
|
38 |
}; |
| 39 |
typedef struct __anonstruct_UWordPair_2 UWordPair; |
|
39 |
typedef struct __anonstruct_UWordPair_2 UWordPair; |
| 40 |
typedef UInt ThreadId; |
|
40 |
typedef UInt ThreadId; |
| 41 |
struct __anonstruct_SysRes_3 { |
|
41 |
struct __anonstruct_SysRes_3 { |
| 42 |
UWord _val ; |
|
42 |
UWord _val ; |
| 43 |
Bool _isError ; |
|
43 |
Bool _isError ; |
| 44 |
}; |
|
44 |
}; |
| 45 |
typedef struct __anonstruct_SysRes_3 SysRes; |
|
45 |
typedef struct __anonstruct_SysRes_3 SysRes; |
| 46 |
enum __anonenum_IRType_4 { |
|
46 |
enum __anonenum_IRType_4 { |
| 47 |
Ity_INVALID = 69632, |
|
47 |
Ity_INVALID = 69632, |
| 48 |
Ity_I1 = 69633, |
|
48 |
Ity_I1 = 69633, |
| 49 |
Ity_I8 = 69634, |
|
49 |
Ity_I8 = 69634, |
| 50 |
Ity_I16 = 69635, |
|
50 |
Ity_I16 = 69635, |
| 51 |
Ity_I32 = 69636, |
|
51 |
Ity_I32 = 69636, |
| 52 |
Ity_I64 = 69637, |
|
52 |
Ity_I64 = 69637, |
| 53 |
Ity_I128 = 69638, |
|
53 |
Ity_I128 = 69638, |
| 54 |
Ity_F32 = 69639, |
|
54 |
Ity_F32 = 69639, |
| 55 |
Ity_F64 = 69640, |
|
55 |
Ity_F64 = 69640, |
| 56 |
Ity_F128 = 69641, |
|
56 |
Ity_F128 = 69641, |
| 57 |
Ity_V128 = 69642 |
|
57 |
Ity_V128 = 69642 |
| 58 |
} ; |
|
58 |
} ; |
| 59 |
typedef enum __anonenum_IRType_4 IRType; |
|
59 |
typedef enum __anonenum_IRType_4 IRType; |
| 60 |
enum __anonenum_IREndness_5 { |
|
60 |
enum __anonenum_IREndness_5 { |
| 61 |
Iend_LE = 73728, |
|
61 |
Iend_LE = 73728, |
| 62 |
Iend_BE = 73729 |
|
62 |
Iend_BE = 73729 |
| 63 |
} ; |
|
63 |
} ; |
| 64 |
typedef enum __anonenum_IREndness_5 IREndness; |
|
64 |
typedef enum __anonenum_IREndness_5 IREndness; |
| 65 |
enum __anonenum_IRConstTag_6 { |
|
65 |
enum __anonenum_IRConstTag_6 { |
| 66 |
Ico_U1 = 77824, |
|
66 |
Ico_U1 = 77824, |
| 67 |
Ico_U8 = 77825, |
|
67 |
Ico_U8 = 77825, |
| 68 |
Ico_U16 = 77826, |
|
68 |
Ico_U16 = 77826, |
| 69 |
Ico_U32 = 77827, |
|
69 |
Ico_U32 = 77827, |
| 70 |
Ico_U64 = 77828, |
|
70 |
Ico_U64 = 77828, |
| 71 |
Ico_F32 = 77829, |
|
71 |
Ico_F32 = 77829, |
| 72 |
Ico_F32i = 77830, |
|
72 |
Ico_F32i = 77830, |
| 73 |
Ico_F64 = 77831, |
|
73 |
Ico_F64 = 77831, |
| 74 |
Ico_F64i = 77832, |
|
74 |
Ico_F64i = 77832, |
| 75 |
Ico_V128 = 77833 |
|
75 |
Ico_V128 = 77833 |
| 76 |
} ; |
|
76 |
} ; |
| 77 |
typedef enum __anonenum_IRConstTag_6 IRConstTag; |
|
77 |
typedef enum __anonenum_IRConstTag_6 IRConstTag; |
| 78 |
union __anonunion_Ico_7 { |
|
78 |
union __anonunion_Ico_7 { |
| 79 |
Bool U1 ; |
|
79 |
Bool U1 ; |
| 80 |
UChar U8 ; |
|
80 |
UChar U8 ; |
| 81 |
UShort U16 ; |
|
81 |
UShort U16 ; |
| 82 |
UInt U32 ; |
|
82 |
UInt U32 ; |
| 83 |
ULong U64 ; |
|
83 |
ULong U64 ; |
| 84 |
Float F32 ; |
|
84 |
Float F32 ; |
| 85 |
UInt F32i ; |
|
85 |
UInt F32i ; |
| 86 |
Double F64 ; |
|
86 |
Double F64 ; |
| 87 |
ULong F64i ; |
|
87 |
ULong F64i ; |
| 88 |
UShort V128 ; |
|
88 |
UShort V128 ; |
| 89 |
}; |
|
89 |
}; |
| 90 |
struct _IRConst { |
|
90 |
struct _IRConst { |
| 91 |
IRConstTag tag ; |
|
91 |
IRConstTag tag ; |
| 92 |
union __anonunion_Ico_7 Ico ; |
|
92 |
union __anonunion_Ico_7 Ico ; |
| 93 |
}; |
|
93 |
}; |
| 94 |
typedef struct _IRConst IRConst; |
|
94 |
typedef struct _IRConst IRConst; |
| 95 |
struct __anonstruct_IRCallee_8 { |
|
95 |
struct __anonstruct_IRCallee_8 { |
| 96 |
Int regparms ; |
|
96 |
Int regparms ; |
| 97 |
HChar *name ; |
|
97 |
HChar *name ; |
| 98 |
void *addr ; |
|
98 |
void *addr ; |
| 99 |
UInt mcx_mask ; |
|
99 |
UInt mcx_mask ; |
| 100 |
}; |
|
100 |
}; |
| 101 |
typedef struct __anonstruct_IRCallee_8 IRCallee; |
|
101 |
typedef struct __anonstruct_IRCallee_8 IRCallee; |
| 102 |
struct __anonstruct_IRRegArray_9 { |
|
102 |
struct __anonstruct_IRRegArray_9 { |
| 103 |
Int base ; |
|
103 |
Int base ; |
| 104 |
IRType elemTy ; |
|
104 |
IRType elemTy ; |
| 105 |
Int nElems ; |
|
105 |
Int nElems ; |
| 106 |
}; |
|
106 |
}; |
| 107 |
typedef struct __anonstruct_IRRegArray_9 IRRegArray; |
|
107 |
typedef struct __anonstruct_IRRegArray_9 IRRegArray; |
| 108 |
typedef UInt IRTemp; |
|
108 |
typedef UInt IRTemp; |
| 109 |
enum __anonenum_IROp_10 { |
|
109 |
enum __anonenum_IROp_10 { |
| 110 |
Iop_INVALID = 81920, |
|
110 |
Iop_INVALID = 81920, |
| 111 |
Iop_Add8 = 81921, |
|
111 |
Iop_Add8 = 81921, |
| 112 |
Iop_Add16 = 81922, |
|
112 |
Iop_Add16 = 81922, |
| 113 |
Iop_Add32 = 81923, |
|
113 |
Iop_Add32 = 81923, |
| 114 |
Iop_Add64 = 81924, |
|
114 |
Iop_Add64 = 81924, |
| 115 |
Iop_Sub8 = 81925, |
|
115 |
Iop_Sub8 = 81925, |
| 116 |
Iop_Sub16 = 81926, |
|
116 |
Iop_Sub16 = 81926, |
| 117 |
Iop_Sub32 = 81927, |
|
117 |
Iop_Sub32 = 81927, |
| 118 |
Iop_Sub64 = 81928, |
|
118 |
Iop_Sub64 = 81928, |
| 119 |
Iop_Mul8 = 81929, |
|
119 |
Iop_Mul8 = 81929, |
| 120 |
Iop_Mul16 = 81930, |
|
120 |
Iop_Mul16 = 81930, |
| 121 |
Iop_Mul32 = 81931, |
|
121 |
Iop_Mul32 = 81931, |
| 122 |
Iop_Mul64 = 81932, |
|
122 |
Iop_Mul64 = 81932, |
| 123 |
Iop_Or8 = 81933, |
|
123 |
Iop_Or8 = 81933, |
| 124 |
Iop_Or16 = 81934, |
|
124 |
Iop_Or16 = 81934, |
| 125 |
Iop_Or32 = 81935, |
|
125 |
Iop_Or32 = 81935, |
| 126 |
Iop_Or64 = 81936, |
|
126 |
Iop_Or64 = 81936, |
| 127 |
Iop_And8 = 81937, |
|
127 |
Iop_And8 = 81937, |
| 128 |
Iop_And16 = 81938, |
|
128 |
Iop_And16 = 81938, |
| 129 |
Iop_And32 = 81939, |
|
129 |
Iop_And32 = 81939, |
| 130 |
Iop_And64 = 81940, |
|
130 |
Iop_And64 = 81940, |
| 131 |
Iop_Xor8 = 81941, |
|
131 |
Iop_Xor8 = 81941, |
| 132 |
Iop_Xor16 = 81942, |
|
132 |
Iop_Xor16 = 81942, |
| 133 |
Iop_Xor32 = 81943, |
|
133 |
Iop_Xor32 = 81943, |
| 134 |
Iop_Xor64 = 81944, |
|
134 |
Iop_Xor64 = 81944, |
| 135 |
Iop_Shl8 = 81945, |
|
135 |
Iop_Shl8 = 81945, |
| 136 |
Iop_Shl16 = 81946, |
|
136 |
Iop_Shl16 = 81946, |
| 137 |
Iop_Shl32 = 81947, |
|
137 |
Iop_Shl32 = 81947, |
| 138 |
Iop_Shl64 = 81948, |
|
138 |
Iop_Shl64 = 81948, |
| 139 |
Iop_Shr8 = 81949, |
|
139 |
Iop_Shr8 = 81949, |
| 140 |
Iop_Shr16 = 81950, |
|
140 |
Iop_Shr16 = 81950, |
| 141 |
Iop_Shr32 = 81951, |
|
141 |
Iop_Shr32 = 81951, |
| 142 |
Iop_Shr64 = 81952, |
|
142 |
Iop_Shr64 = 81952, |
| 143 |
Iop_Sar8 = 81953, |
|
143 |
Iop_Sar8 = 81953, |
| 144 |
Iop_Sar16 = 81954, |
|
144 |
Iop_Sar16 = 81954, |
| 145 |
Iop_Sar32 = 81955, |
|
145 |
Iop_Sar32 = 81955, |
| 146 |
Iop_Sar64 = 81956, |
|
146 |
Iop_Sar64 = 81956, |
| 147 |
Iop_CmpEQ8 = 81957, |
|
147 |
Iop_CmpEQ8 = 81957, |
| 148 |
Iop_CmpEQ16 = 81958, |
|
148 |
Iop_CmpEQ16 = 81958, |
| 149 |
Iop_CmpEQ32 = 81959, |
|
149 |
Iop_CmpEQ32 = 81959, |
| 150 |
Iop_CmpEQ64 = 81960, |
|
150 |
Iop_CmpEQ64 = 81960, |
| 151 |
Iop_CmpNE8 = 81961, |
|
151 |
Iop_CmpNE8 = 81961, |
| 152 |
Iop_CmpNE16 = 81962, |
|
152 |
Iop_CmpNE16 = 81962, |
| 153 |
Iop_CmpNE32 = 81963, |
|
153 |
Iop_CmpNE32 = 81963, |
| 154 |
Iop_CmpNE64 = 81964, |
|
154 |
Iop_CmpNE64 = 81964, |
| 155 |
Iop_Not8 = 81965, |
|
155 |
Iop_Not8 = 81965, |
| 156 |
Iop_Not16 = 81966, |
|
156 |
Iop_Not16 = 81966, |
| 157 |
Iop_Not32 = 81967, |
|
157 |
Iop_Not32 = 81967, |
| 158 |
Iop_Not64 = 81968, |
|
158 |
Iop_Not64 = 81968, |
| 159 |
Iop_CasCmpEQ8 = 81969, |
|
159 |
Iop_CasCmpEQ8 = 81969, |
| 160 |
Iop_CasCmpEQ16 = 81970, |
|
160 |
Iop_CasCmpEQ16 = 81970, |
| 161 |
Iop_CasCmpEQ32 = 81971, |
|
161 |
Iop_CasCmpEQ32 = 81971, |
| 162 |
Iop_CasCmpEQ64 = 81972, |
|
162 |
Iop_CasCmpEQ64 = 81972, |
| 163 |
Iop_CasCmpNE8 = 81973, |
|
163 |
Iop_CasCmpNE8 = 81973, |
| 164 |
Iop_CasCmpNE16 = 81974, |
|
164 |
Iop_CasCmpNE16 = 81974, |
| 165 |
Iop_CasCmpNE32 = 81975, |
|
165 |
Iop_CasCmpNE32 = 81975, |
| 166 |
Iop_CasCmpNE64 = 81976, |
|
166 |
Iop_CasCmpNE64 = 81976, |
| 167 |
Iop_MullS8 = 81977, |
|
167 |
Iop_MullS8 = 81977, |
| 168 |
Iop_MullS16 = 81978, |
|
168 |
Iop_MullS16 = 81978, |
| 169 |
Iop_MullS32 = 81979, |
|
169 |
Iop_MullS32 = 81979, |
| 170 |
Iop_MullS64 = 81980, |
|
170 |
Iop_MullS64 = 81980, |
| 171 |
Iop_MullU8 = 81981, |
|
171 |
Iop_MullU8 = 81981, |
| 172 |
Iop_MullU16 = 81982, |
|
172 |
Iop_MullU16 = 81982, |
| 173 |
Iop_MullU32 = 81983, |
|
173 |
Iop_MullU32 = 81983, |
| 174 |
Iop_MullU64 = 81984, |
|
174 |
Iop_MullU64 = 81984, |
| 175 |
Iop_Clz64 = 81985, |
|
175 |
Iop_Clz64 = 81985, |
| 176 |
Iop_Clz32 = 81986, |
|
176 |
Iop_Clz32 = 81986, |
| 177 |
Iop_Ctz64 = 81987, |
|
177 |
Iop_Ctz64 = 81987, |
| 178 |
Iop_Ctz32 = 81988, |
|
178 |
Iop_Ctz32 = 81988, |
| 179 |
Iop_CmpLT32S = 81989, |
|
179 |
Iop_CmpLT32S = 81989, |
| 180 |
Iop_CmpLT64S = 81990, |
|
180 |
Iop_CmpLT64S = 81990, |
| 181 |
Iop_CmpLE32S = 81991, |
|
181 |
Iop_CmpLE32S = 81991, |
| 182 |
Iop_CmpLE64S = 81992, |
|
182 |
Iop_CmpLE64S = 81992, |
| 183 |
Iop_CmpLT32U = 81993, |
|
183 |
Iop_CmpLT32U = 81993, |
| 184 |
Iop_CmpLT64U = 81994, |
|
184 |
Iop_CmpLT64U = 81994, |
| 185 |
Iop_CmpLE32U = 81995, |
|
185 |
Iop_CmpLE32U = 81995, |
| 186 |
Iop_CmpLE64U = 81996, |
|
186 |
Iop_CmpLE64U = 81996, |
| 187 |
Iop_CmpNEZ8 = 81997, |
|
187 |
Iop_CmpNEZ8 = 81997, |
| 188 |
Iop_CmpNEZ16 = 81998, |
|
188 |
Iop_CmpNEZ16 = 81998, |
| 189 |
Iop_CmpNEZ32 = 81999, |
|
189 |
Iop_CmpNEZ32 = 81999, |
| 190 |
Iop_CmpNEZ64 = 82000, |
|
190 |
Iop_CmpNEZ64 = 82000, |
| 191 |
Iop_CmpwNEZ32 = 82001, |
|
191 |
Iop_CmpwNEZ32 = 82001, |
| 192 |
Iop_CmpwNEZ64 = 82002, |
|
192 |
Iop_CmpwNEZ64 = 82002, |
| 193 |
Iop_Left8 = 82003, |
|
193 |
Iop_Left8 = 82003, |
| 194 |
Iop_Left16 = 82004, |
|
194 |
Iop_Left16 = 82004, |
| 195 |
Iop_Left32 = 82005, |
|
195 |
Iop_Left32 = 82005, |
| 196 |
Iop_Left64 = 82006, |
|
196 |
Iop_Left64 = 82006, |
| 197 |
Iop_Max32U = 82007, |
|
197 |
Iop_Max32U = 82007, |
| 198 |
Iop_CmpORD32U = 82008, |
|
198 |
Iop_CmpORD32U = 82008, |
| 199 |
Iop_CmpORD64U = 82009, |
|
199 |
Iop_CmpORD64U = 82009, |
| 200 |
Iop_CmpORD32S = 82010, |
|
200 |
Iop_CmpORD32S = 82010, |
| 201 |
Iop_CmpORD64S = 82011, |
|
201 |
Iop_CmpORD64S = 82011, |
| 202 |
Iop_DivU32 = 82012, |
|
202 |
Iop_DivU32 = 82012, |
| 203 |
Iop_DivS32 = 82013, |
|
203 |
Iop_DivS32 = 82013, |
| 204 |
Iop_DivU64 = 82014, |
|
204 |
Iop_DivU64 = 82014, |
| 205 |
Iop_DivS64 = 82015, |
|
205 |
Iop_DivS64 = 82015, |
| 206 |
Iop_DivModU64to32 = 82016, |
|
206 |
Iop_DivModU64to32 = 82016, |
| 207 |
Iop_DivModS64to32 = 82017, |
|
207 |
Iop_DivModS64to32 = 82017, |
| 208 |
Iop_DivModU128to64 = 82018, |
|
208 |
Iop_DivModU128to64 = 82018, |
| 209 |
Iop_DivModS128to64 = 82019, |
|
209 |
Iop_DivModS128to64 = 82019, |
| 210 |
Iop_DivModS64to64 = 82020, |
|
210 |
Iop_DivModS64to64 = 82020, |
| 211 |
Iop_8Uto16 = 82021, |
|
211 |
Iop_8Uto16 = 82021, |
| 212 |
Iop_8Uto32 = 82022, |
|
212 |
Iop_8Uto32 = 82022, |
| 213 |
Iop_8Uto64 = 82023, |
|
213 |
Iop_8Uto64 = 82023, |
| 214 |
Iop_16Uto32 = 82024, |
|
214 |
Iop_16Uto32 = 82024, |
| 215 |
Iop_16Uto64 = 82025, |
|
215 |
Iop_16Uto64 = 82025, |
| 216 |
Iop_32Uto64 = 82026, |
|
216 |
Iop_32Uto64 = 82026, |
| 217 |
Iop_8Sto16 = 82027, |
|
217 |
Iop_8Sto16 = 82027, |
| 218 |
Iop_8Sto32 = 82028, |
|
218 |
Iop_8Sto32 = 82028, |
| 219 |
Iop_8Sto64 = 82029, |
|
219 |
Iop_8Sto64 = 82029, |
| 220 |
Iop_16Sto32 = 82030, |
|
220 |
Iop_16Sto32 = 82030, |
| 221 |
Iop_16Sto64 = 82031, |
|
221 |
Iop_16Sto64 = 82031, |
| 222 |
Iop_32Sto64 = 82032, |
|
222 |
Iop_32Sto64 = 82032, |
| 223 |
Iop_64to8 = 82033, |
|
223 |
Iop_64to8 = 82033, |
| 224 |
Iop_32to8 = 82034, |
|
224 |
Iop_32to8 = 82034, |
| 225 |
Iop_64to16 = 82035, |
|
225 |
Iop_64to16 = 82035, |
| 226 |
Iop_16to8 = 82036, |
|
226 |
Iop_16to8 = 82036, |
| 227 |
Iop_16HIto8 = 82037, |
|
227 |
Iop_16HIto8 = 82037, |
| 228 |
Iop_8HLto16 = 82038, |
|
228 |
Iop_8HLto16 = 82038, |
| 229 |
Iop_32to16 = 82039, |
|
229 |
Iop_32to16 = 82039, |
| 230 |
Iop_32HIto16 = 82040, |
|
230 |
Iop_32HIto16 = 82040, |
| 231 |
Iop_16HLto32 = 82041, |
|
231 |
Iop_16HLto32 = 82041, |
| 232 |
Iop_64to32 = 82042, |
|
232 |
Iop_64to32 = 82042, |
| 233 |
Iop_64HIto32 = 82043, |
|
233 |
Iop_64HIto32 = 82043, |
| 234 |
Iop_32HLto64 = 82044, |
|
234 |
Iop_32HLto64 = 82044, |
| 235 |
Iop_128to64 = 82045, |
|
235 |
Iop_128to64 = 82045, |
| 236 |
Iop_128HIto64 = 82046, |
|
236 |
Iop_128HIto64 = 82046, |
| 237 |
Iop_64HLto128 = 82047, |
|
237 |
Iop_64HLto128 = 82047, |
| 238 |
Iop_Not1 = 82048, |
|
238 |
Iop_Not1 = 82048, |
| 239 |
Iop_32to1 = 82049, |
|
239 |
Iop_32to1 = 82049, |
| 240 |
Iop_64to1 = 82050, |
|
240 |
Iop_64to1 = 82050, |
| 241 |
Iop_1Uto8 = 82051, |
|
241 |
Iop_1Uto8 = 82051, |
| 242 |
Iop_1Uto32 = 82052, |
|
242 |
Iop_1Uto32 = 82052, |
| 243 |
Iop_1Uto64 = 82053, |
|
243 |
Iop_1Uto64 = 82053, |
| 244 |
Iop_1Sto8 = 82054, |
|
244 |
Iop_1Sto8 = 82054, |
| 245 |
Iop_1Sto16 = 82055, |
|
245 |
Iop_1Sto16 = 82055, |
| 246 |
Iop_1Sto32 = 82056, |
|
246 |
Iop_1Sto32 = 82056, |
| 247 |
Iop_1Sto64 = 82057, |
|
247 |
Iop_1Sto64 = 82057, |
| 248 |
Iop_AddF64 = 82058, |
|
248 |
Iop_AddF64 = 82058, |
| 249 |
Iop_SubF64 = 82059, |
|
249 |
Iop_SubF64 = 82059, |
| 250 |
Iop_MulF64 = 82060, |
|
250 |
Iop_MulF64 = 82060, |
| 251 |
Iop_DivF64 = 82061, |
|
251 |
Iop_DivF64 = 82061, |
| 252 |
Iop_AddF32 = 82062, |
|
252 |
Iop_AddF32 = 82062, |
| 253 |
Iop_SubF32 = 82063, |
|
253 |
Iop_SubF32 = 82063, |
| 254 |
Iop_MulF32 = 82064, |
|
254 |
Iop_MulF32 = 82064, |
| 255 |
Iop_DivF32 = 82065, |
|
255 |
Iop_DivF32 = 82065, |
| 256 |
Iop_AddF64r32 = 82066, |
|
256 |
Iop_AddF64r32 = 82066, |
| 257 |
Iop_SubF64r32 = 82067, |
|
257 |
Iop_SubF64r32 = 82067, |
| 258 |
Iop_MulF64r32 = 82068, |
|
258 |
Iop_MulF64r32 = 82068, |
| 259 |
Iop_DivF64r32 = 82069, |
|
259 |
Iop_DivF64r32 = 82069, |
| 260 |
Iop_NegF64 = 82070, |
|
260 |
Iop_NegF64 = 82070, |
| 261 |
Iop_AbsF64 = 82071, |
|
261 |
Iop_AbsF64 = 82071, |
| 262 |
Iop_NegF32 = 82072, |
|
262 |
Iop_NegF32 = 82072, |
| 263 |
Iop_AbsF32 = 82073, |
|
263 |
Iop_AbsF32 = 82073, |
| 264 |
Iop_SqrtF64 = 82074, |
|
264 |
Iop_SqrtF64 = 82074, |
| 265 |
Iop_SqrtF64r32 = 82075, |
|
265 |
Iop_SqrtF64r32 = 82075, |
| 266 |
Iop_SqrtF32 = 82076, |
|
266 |
Iop_SqrtF32 = 82076, |
| 267 |
Iop_CmpF64 = 82077, |
|
267 |
Iop_CmpF64 = 82077, |
| 268 |
Iop_CmpF32 = 82078, |
|
268 |
Iop_CmpF32 = 82078, |
| 269 |
Iop_CmpF128 = 82079, |
|
269 |
Iop_CmpF128 = 82079, |
| 270 |
Iop_F64toI16S = 82080, |
|
270 |
Iop_F64toI16S = 82080, |
| 271 |
Iop_F64toI32S = 82081, |
|
271 |
Iop_F64toI32S = 82081, |
| 272 |
Iop_F64toI64S = 82082, |
|
272 |
Iop_F64toI64S = 82082, |
| 273 |
Iop_F64toI32U = 82083, |
|
273 |
Iop_F64toI32U = 82083, |
| 274 |
Iop_I16StoF64 = 82084, |
|
274 |
Iop_I16StoF64 = 82084, |
| 275 |
Iop_I32StoF64 = 82085, |
|
275 |
Iop_I32StoF64 = 82085, |
| 276 |
Iop_I64StoF64 = 82086, |
|
276 |
Iop_I64StoF64 = 82086, |
| 277 |
Iop_I64UtoF64 = 82087, |
|
277 |
Iop_I64UtoF64 = 82087, |
| 278 |
Iop_I64UtoF32 = 82088, |
|
278 |
Iop_I64UtoF32 = 82088, |
| 279 |
Iop_I32UtoF64 = 82089, |
|
279 |
Iop_I32UtoF64 = 82089, |
| 280 |
Iop_F32toI16S = 82090, |
|
280 |
Iop_F32toI16S = 82090, |
| 281 |
Iop_F32toI32S = 82091, |
|
281 |
Iop_F32toI32S = 82091, |
| 282 |
Iop_F32toI64S = 82092, |
|
282 |
Iop_F32toI64S = 82092, |
| 283 |
Iop_I16StoF32 = 82093, |
|
283 |
Iop_I16StoF32 = 82093, |
| 284 |
Iop_I32StoF32 = 82094, |
|
284 |
Iop_I32StoF32 = 82094, |
| 285 |
Iop_I64StoF32 = 82095, |
|
285 |
Iop_I64StoF32 = 82095, |
| 286 |
Iop_F32toF64 = 82096, |
|
286 |
Iop_F32toF64 = 82096, |
| 287 |
Iop_F64toF32 = 82097, |
|
287 |
Iop_F64toF32 = 82097, |
| 288 |
Iop_ReinterpF64asI64 = 82098, |
|
288 |
Iop_ReinterpF64asI64 = 82098, |
| 289 |
Iop_ReinterpI64asF64 = 82099, |
|
289 |
Iop_ReinterpI64asF64 = 82099, |
| 290 |
Iop_ReinterpF32asI32 = 82100, |
|
290 |
Iop_ReinterpF32asI32 = 82100, |
| 291 |
Iop_ReinterpI32asF32 = 82101, |
|
291 |
Iop_ReinterpI32asF32 = 82101, |
| 292 |
Iop_F64HLtoF128 = 82102, |
|
292 |
Iop_F64HLtoF128 = 82102, |
| 293 |
Iop_F128HItoF64 = 82103, |
|
293 |
Iop_F128HItoF64 = 82103, |
| 294 |
Iop_F128LOtoF64 = 82104, |
|
294 |
Iop_F128LOtoF64 = 82104, |
| 295 |
Iop_AddF128 = 82105, |
|
295 |
Iop_AddF128 = 82105, |
| 296 |
Iop_SubF128 = 82106, |
|
296 |
Iop_SubF128 = 82106, |
| 297 |
Iop_MulF128 = 82107, |
|
297 |
Iop_MulF128 = 82107, |
| 298 |
Iop_DivF128 = 82108, |
|
298 |
Iop_DivF128 = 82108, |
| 299 |
Iop_NegF128 = 82109, |
|
299 |
Iop_NegF128 = 82109, |
| 300 |
Iop_AbsF128 = 82110, |
|
300 |
Iop_AbsF128 = 82110, |
| 301 |
Iop_SqrtF128 = 82111, |
|
301 |
Iop_SqrtF128 = 82111, |
| 302 |
Iop_I32StoF128 = 82112, |
|
302 |
Iop_I32StoF128 = 82112, |
| 303 |
Iop_I64StoF128 = 82113, |
|
303 |
Iop_I64StoF128 = 82113, |
| 304 |
Iop_F32toF128 = 82114, |
|
304 |
Iop_F32toF128 = 82114, |
| 305 |
Iop_F64toF128 = 82115, |
|
305 |
Iop_F64toF128 = 82115, |
| 306 |
Iop_F128toI32S = 82116, |
|
306 |
Iop_F128toI32S = 82116, |
| 307 |
Iop_F128toI64S = 82117, |
|
307 |
Iop_F128toI64S = 82117, |
| 308 |
Iop_F128toF64 = 82118, |
|
308 |
Iop_F128toF64 = 82118, |
| 309 |
Iop_F128toF32 = 82119, |
|
309 |
Iop_F128toF32 = 82119, |
| 310 |
Iop_AtanF64 = 82120, |
|
310 |
Iop_AtanF64 = 82120, |
| 311 |
Iop_Yl2xF64 = 82121, |
|
311 |
Iop_Yl2xF64 = 82121, |
| 312 |
Iop_Yl2xp1F64 = 82122, |
|
312 |
Iop_Yl2xp1F64 = 82122, |
| 313 |
Iop_PRemF64 = 82123, |
|
313 |
Iop_PRemF64 = 82123, |
| 314 |
Iop_PRemC3210F64 = 82124, |
|
314 |
Iop_PRemC3210F64 = 82124, |
| 315 |
Iop_PRem1F64 = 82125, |
|
315 |
Iop_PRem1F64 = 82125, |
| 316 |
Iop_PRem1C3210F64 = 82126, |
|
316 |
Iop_PRem1C3210F64 = 82126, |
| 317 |
Iop_ScaleF64 = 82127, |
|
317 |
Iop_ScaleF64 = 82127, |
| 318 |
Iop_SinF64 = 82128, |
|
318 |
Iop_SinF64 = 82128, |
| 319 |
Iop_CosF64 = 82129, |
|
319 |
Iop_CosF64 = 82129, |
| 320 |
Iop_TanF64 = 82130, |
|
320 |
Iop_TanF64 = 82130, |
| 321 |
Iop_2xm1F64 = 82131, |
|
321 |
Iop_2xm1F64 = 82131, |
| 322 |
Iop_RoundF64toInt = 82132, |
|
322 |
Iop_RoundF64toInt = 82132, |
| 323 |
Iop_RoundF32toInt = 82133, |
|
323 |
Iop_RoundF32toInt = 82133, |
| 324 |
Iop_MAddF32 = 82134, |
|
324 |
Iop_MAddF32 = 82134, |
| 325 |
Iop_MSubF32 = 82135, |
|
325 |
Iop_MSubF32 = 82135, |
| 326 |
Iop_MAddF64 = 82136, |
|
326 |
Iop_MAddF64 = 82136, |
| 327 |
Iop_MSubF64 = 82137, |
|
327 |
Iop_MSubF64 = 82137, |
| 328 |
Iop_MAddF64r32 = 82138, |
|
328 |
Iop_MAddF64r32 = 82138, |
| 329 |
Iop_MSubF64r32 = 82139, |
|
329 |
Iop_MSubF64r32 = 82139, |
| 330 |
Iop_Est5FRSqrt = 82140, |
|
330 |
Iop_Est5FRSqrt = 82140, |
| 331 |
Iop_RoundF64toF64_NEAREST = 82141, |
|
331 |
Iop_RoundF64toF64_NEAREST = 82141, |
| 332 |
Iop_RoundF64toF64_NegINF = 82142, |
|
332 |
Iop_RoundF64toF64_NegINF = 82142, |
| 333 |
Iop_RoundF64toF64_PosINF = 82143, |
|
333 |
Iop_RoundF64toF64_PosINF = 82143, |
| 334 |
Iop_RoundF64toF64_ZERO = 82144, |
|
334 |
Iop_RoundF64toF64_ZERO = 82144, |
| 335 |
Iop_TruncF64asF32 = 82145, |
|
335 |
Iop_TruncF64asF32 = 82145, |
| 336 |
Iop_RoundF64toF32 = 82146, |
|
336 |
Iop_RoundF64toF32 = 82146, |
| 337 |
Iop_CalcFPRF = 82147, |
|
337 |
Iop_CalcFPRF = 82147, |
| 338 |
Iop_Add16x2 = 82148, |
|
338 |
Iop_Add16x2 = 82148, |
| 339 |
Iop_Sub16x2 = 82149, |
|
339 |
Iop_Sub16x2 = 82149, |
| 340 |
Iop_QAdd16Sx2 = 82150, |
|
340 |
Iop_QAdd16Sx2 = 82150, |
| 341 |
Iop_QAdd16Ux2 = 82151, |
|
341 |
Iop_QAdd16Ux2 = 82151, |
| 342 |
Iop_QSub16Sx2 = 82152, |
|
342 |
Iop_QSub16Sx2 = 82152, |
| 343 |
Iop_QSub16Ux2 = 82153, |
|
343 |
Iop_QSub16Ux2 = 82153, |
| 344 |
Iop_HAdd16Ux2 = 82154, |
|
344 |
Iop_HAdd16Ux2 = 82154, |
| 345 |
Iop_HAdd16Sx2 = 82155, |
|
345 |
Iop_HAdd16Sx2 = 82155, |
| 346 |
Iop_HSub16Ux2 = 82156, |
|
346 |
Iop_HSub16Ux2 = 82156, |
| 347 |
Iop_HSub16Sx2 = 82157, |
|
347 |
Iop_HSub16Sx2 = 82157, |
| 348 |
Iop_Add8x4 = 82158, |
|
348 |
Iop_Add8x4 = 82158, |
| 349 |
Iop_Sub8x4 = 82159, |
|
349 |
Iop_Sub8x4 = 82159, |
| 350 |
Iop_QAdd8Sx4 = 82160, |
|
350 |
Iop_QAdd8Sx4 = 82160, |
| 351 |
Iop_QAdd8Ux4 = 82161, |
|
351 |
Iop_QAdd8Ux4 = 82161, |
| 352 |
Iop_QSub8Sx4 = 82162, |
|
352 |
Iop_QSub8Sx4 = 82162, |
| 353 |
Iop_QSub8Ux4 = 82163, |
|
353 |
Iop_QSub8Ux4 = 82163, |
| 354 |
Iop_HAdd8Ux4 = 82164, |
|
354 |
Iop_HAdd8Ux4 = 82164, |
| 355 |
Iop_HAdd8Sx4 = 82165, |
|
355 |
Iop_HAdd8Sx4 = 82165, |
| 356 |
Iop_HSub8Ux4 = 82166, |
|
356 |
Iop_HSub8Ux4 = 82166, |
| 357 |
Iop_HSub8Sx4 = 82167, |
|
357 |
Iop_HSub8Sx4 = 82167, |
| 358 |
Iop_Sad8Ux4 = 82168, |
|
358 |
Iop_Sad8Ux4 = 82168, |
| 359 |
Iop_CmpNEZ16x2 = 82169, |
|
359 |
Iop_CmpNEZ16x2 = 82169, |
| 360 |
Iop_CmpNEZ8x4 = 82170, |
|
360 |
Iop_CmpNEZ8x4 = 82170, |
| 361 |
Iop_I32UtoFx2 = 82171, |
|
361 |
Iop_I32UtoFx2 = 82171, |
| 362 |
Iop_I32StoFx2 = 82172, |
|
362 |
Iop_I32StoFx2 = 82172, |
| 363 |
Iop_FtoI32Ux2_RZ = 82173, |
|
363 |
Iop_FtoI32Ux2_RZ = 82173, |
| 364 |
Iop_FtoI32Sx2_RZ = 82174, |
|
364 |
Iop_FtoI32Sx2_RZ = 82174, |
| 365 |
Iop_F32ToFixed32Ux2_RZ = 82175, |
|
365 |
Iop_F32ToFixed32Ux2_RZ = 82175, |
| 366 |
Iop_F32ToFixed32Sx2_RZ = 82176, |
|
366 |
Iop_F32ToFixed32Sx2_RZ = 82176, |
| 367 |
Iop_Fixed32UToF32x2_RN = 82177, |
|
367 |
Iop_Fixed32UToF32x2_RN = 82177, |
| 368 |
Iop_Fixed32SToF32x2_RN = 82178, |
|
368 |
Iop_Fixed32SToF32x2_RN = 82178, |
| 369 |
Iop_Max32Fx2 = 82179, |
|
369 |
Iop_Max32Fx2 = 82179, |
| 370 |
Iop_Min32Fx2 = 82180, |
|
370 |
Iop_Min32Fx2 = 82180, |
| 371 |
Iop_PwMax32Fx2 = 82181, |
|
371 |
Iop_PwMax32Fx2 = 82181, |
| 372 |
Iop_PwMin32Fx2 = 82182, |
|
372 |
Iop_PwMin32Fx2 = 82182, |
| 373 |
Iop_CmpEQ32Fx2 = 82183, |
|
373 |
Iop_CmpEQ32Fx2 = 82183, |
| 374 |
Iop_CmpGT32Fx2 = 82184, |
|
374 |
Iop_CmpGT32Fx2 = 82184, |
| 375 |
Iop_CmpGE32Fx2 = 82185, |
|
375 |
Iop_CmpGE32Fx2 = 82185, |
| 376 |
Iop_Recip32Fx2 = 82186, |
|
376 |
Iop_Recip32Fx2 = 82186, |
| 377 |
Iop_Recps32Fx2 = 82187, |
|
377 |
Iop_Recps32Fx2 = 82187, |
| 378 |
Iop_Rsqrte32Fx2 = 82188, |
|
378 |
Iop_Rsqrte32Fx2 = 82188, |
| 379 |
Iop_Rsqrts32Fx2 = 82189, |
|
379 |
Iop_Rsqrts32Fx2 = 82189, |
| 380 |
Iop_Neg32Fx2 = 82190, |
|
380 |
Iop_Neg32Fx2 = 82190, |
| 381 |
Iop_Abs32Fx2 = 82191, |
|
381 |
Iop_Abs32Fx2 = 82191, |
| 382 |
Iop_CmpNEZ8x8 = 82192, |
|
382 |
Iop_CmpNEZ8x8 = 82192, |
| 383 |
Iop_CmpNEZ16x4 = 82193, |
|
383 |
Iop_CmpNEZ16x4 = 82193, |
| 384 |
Iop_CmpNEZ32x2 = 82194, |
|
384 |
Iop_CmpNEZ32x2 = 82194, |
| 385 |
Iop_Add8x8 = 82195, |
|
385 |
Iop_Add8x8 = 82195, |
| 386 |
Iop_Add16x4 = 82196, |
|
386 |
Iop_Add16x4 = 82196, |
| 387 |
Iop_Add32x2 = 82197, |
|
387 |
Iop_Add32x2 = 82197, |
| 388 |
Iop_QAdd8Ux8 = 82198, |
|
388 |
Iop_QAdd8Ux8 = 82198, |
| 389 |
Iop_QAdd16Ux4 = 82199, |
|
389 |
Iop_QAdd16Ux4 = 82199, |
| 390 |
Iop_QAdd32Ux2 = 82200, |
|
390 |
Iop_QAdd32Ux2 = 82200, |
| 391 |
Iop_QAdd64Ux1 = 82201, |
|
391 |
Iop_QAdd64Ux1 = 82201, |
| 392 |
Iop_QAdd8Sx8 = 82202, |
|
392 |
Iop_QAdd8Sx8 = 82202, |
| 393 |
Iop_QAdd16Sx4 = 82203, |
|
393 |
Iop_QAdd16Sx4 = 82203, |
| 394 |
Iop_QAdd32Sx2 = 82204, |
|
394 |
Iop_QAdd32Sx2 = 82204, |
| 395 |
Iop_QAdd64Sx1 = 82205, |
|
395 |
Iop_QAdd64Sx1 = 82205, |
| 396 |
Iop_PwAdd8x8 = 82206, |
|
396 |
Iop_PwAdd8x8 = 82206, |
| 397 |
Iop_PwAdd16x4 = 82207, |
|
397 |
Iop_PwAdd16x4 = 82207, |
| 398 |
Iop_PwAdd32x2 = 82208, |
|
398 |
Iop_PwAdd32x2 = 82208, |
| 399 |
Iop_PwMax8Sx8 = 82209, |
|
399 |
Iop_PwMax8Sx8 = 82209, |
| 400 |
Iop_PwMax16Sx4 = 82210, |
|
400 |
Iop_PwMax16Sx4 = 82210, |
| 401 |
Iop_PwMax32Sx2 = 82211, |
|
401 |
Iop_PwMax32Sx2 = 82211, |
| 402 |
Iop_PwMax8Ux8 = 82212, |
|
402 |
Iop_PwMax8Ux8 = 82212, |
| 403 |
Iop_PwMax16Ux4 = 82213, |
|
403 |
Iop_PwMax16Ux4 = 82213, |
| 404 |
Iop_PwMax32Ux2 = 82214, |
|
404 |
Iop_PwMax32Ux2 = 82214, |
| 405 |
Iop_PwMin8Sx8 = 82215, |
|
405 |
Iop_PwMin8Sx8 = 82215, |
| 406 |
Iop_PwMin16Sx4 = 82216, |
|
406 |
Iop_PwMin16Sx4 = 82216, |
| 407 |
Iop_PwMin32Sx2 = 82217, |
|
407 |
Iop_PwMin32Sx2 = 82217, |
| 408 |
Iop_PwMin8Ux8 = 82218, |
|
408 |
Iop_PwMin8Ux8 = 82218, |
| 409 |
Iop_PwMin16Ux4 = 82219, |
|
409 |
Iop_PwMin16Ux4 = 82219, |
| 410 |
Iop_PwMin32Ux2 = 82220, |
|
410 |
Iop_PwMin32Ux2 = 82220, |
| 411 |
Iop_PwAddL8Ux8 = 82221, |
|
411 |
Iop_PwAddL8Ux8 = 82221, |
| 412 |
Iop_PwAddL16Ux4 = 82222, |
|
412 |
Iop_PwAddL16Ux4 = 82222, |
| 413 |
Iop_PwAddL32Ux2 = 82223, |
|
413 |
Iop_PwAddL32Ux2 = 82223, |
| 414 |
Iop_PwAddL8Sx8 = 82224, |
|
414 |
Iop_PwAddL8Sx8 = 82224, |
| 415 |
Iop_PwAddL16Sx4 = 82225, |
|
415 |
Iop_PwAddL16Sx4 = 82225, |
| 416 |
Iop_PwAddL32Sx2 = 82226, |
|
416 |
Iop_PwAddL32Sx2 = 82226, |
| 417 |
Iop_Sub8x8 = 82227, |
|
417 |
Iop_Sub8x8 = 82227, |
| 418 |
Iop_Sub16x4 = 82228, |
|
418 |
Iop_Sub16x4 = 82228, |
| 419 |
Iop_Sub32x2 = 82229, |
|
419 |
Iop_Sub32x2 = 82229, |
| 420 |
Iop_QSub8Ux8 = 82230, |
|
420 |
Iop_QSub8Ux8 = 82230, |
| 421 |
Iop_QSub16Ux4 = 82231, |
|
421 |
Iop_QSub16Ux4 = 82231, |
| 422 |
Iop_QSub32Ux2 = 82232, |
|
422 |
Iop_QSub32Ux2 = 82232, |
| 423 |
Iop_QSub64Ux1 = 82233, |
|
423 |
Iop_QSub64Ux1 = 82233, |
| 424 |
Iop_QSub8Sx8 = 82234, |
|
424 |
Iop_QSub8Sx8 = 82234, |
| 425 |
Iop_QSub16Sx4 = 82235, |
|
425 |
Iop_QSub16Sx4 = 82235, |
| 426 |
Iop_QSub32Sx2 = 82236, |
|
426 |
Iop_QSub32Sx2 = 82236, |
| 427 |
Iop_QSub64Sx1 = 82237, |
|
427 |
Iop_QSub64Sx1 = 82237, |
| 428 |
Iop_Abs8x8 = 82238, |
|
428 |
Iop_Abs8x8 = 82238, |
| 429 |
Iop_Abs16x4 = 82239, |
|
429 |
Iop_Abs16x4 = 82239, |
| 430 |
Iop_Abs32x2 = 82240, |
|
430 |
Iop_Abs32x2 = 82240, |
| 431 |
Iop_Mul8x8 = 82241, |
|
431 |
Iop_Mul8x8 = 82241, |
| 432 |
Iop_Mul16x4 = 82242, |
|
432 |
Iop_Mul16x4 = 82242, |
| 433 |
Iop_Mul32x2 = 82243, |
|
433 |
Iop_Mul32x2 = 82243, |
| 434 |
Iop_Mul32Fx2 = 82244, |
|
434 |
Iop_Mul32Fx2 = 82244, |
| 435 |
Iop_MulHi16Ux4 = 82245, |
|
435 |
Iop_MulHi16Ux4 = 82245, |
| 436 |
Iop_MulHi16Sx4 = 82246, |
|
436 |
Iop_MulHi16Sx4 = 82246, |
| 437 |
Iop_PolynomialMul8x8 = 82247, |
|
437 |
Iop_PolynomialMul8x8 = 82247, |
| 438 |
Iop_QDMulHi16Sx4 = 82248, |
|
438 |
Iop_QDMulHi16Sx4 = 82248, |
| 439 |
Iop_QDMulHi32Sx2 = 82249, |
|
439 |
Iop_QDMulHi32Sx2 = 82249, |
| 440 |
Iop_QRDMulHi16Sx4 = 82250, |
|
440 |
Iop_QRDMulHi16Sx4 = 82250, |
| 441 |
Iop_QRDMulHi32Sx2 = 82251, |
|
441 |
Iop_QRDMulHi32Sx2 = 82251, |
| 442 |
Iop_Avg8Ux8 = 82252, |
|
442 |
Iop_Avg8Ux8 = 82252, |
| 443 |
Iop_Avg16Ux4 = 82253, |
|
443 |
Iop_Avg16Ux4 = 82253, |
| 444 |
Iop_Max8Sx8 = 82254, |
|
444 |
Iop_Max8Sx8 = 82254, |
| 445 |
Iop_Max16Sx4 = 82255, |
|
445 |
Iop_Max16Sx4 = 82255, |
| 446 |
Iop_Max32Sx2 = 82256, |
|
446 |
Iop_Max32Sx2 = 82256, |
| 447 |
Iop_Max8Ux8 = 82257, |
|
447 |
Iop_Max8Ux8 = 82257, |
| 448 |
Iop_Max16Ux4 = 82258, |
|
448 |
Iop_Max16Ux4 = 82258, |
| 449 |
Iop_Max32Ux2 = 82259, |
|
449 |
Iop_Max32Ux2 = 82259, |
| 450 |
Iop_Min8Sx8 = 82260, |
|
450 |
Iop_Min8Sx8 = 82260, |
| 451 |
Iop_Min16Sx4 = 82261, |
|
451 |
Iop_Min16Sx4 = 82261, |
| 452 |
Iop_Min32Sx2 = 82262, |
|
452 |
Iop_Min32Sx2 = 82262, |
| 453 |
Iop_Min8Ux8 = 82263, |
|
453 |
Iop_Min8Ux8 = 82263, |
| 454 |
Iop_Min16Ux4 = 82264, |
|
454 |
Iop_Min16Ux4 = 82264, |
| 455 |
Iop_Min32Ux2 = 82265, |
|
455 |
Iop_Min32Ux2 = 82265, |
| 456 |
Iop_CmpEQ8x8 = 82266, |
|
456 |
Iop_CmpEQ8x8 = 82266, |
| 457 |
Iop_CmpEQ16x4 = 82267, |
|
457 |
Iop_CmpEQ16x4 = 82267, |
| 458 |
Iop_CmpEQ32x2 = 82268, |
|
458 |
Iop_CmpEQ32x2 = 82268, |
| 459 |
Iop_CmpGT8Ux8 = 82269, |
|
459 |
Iop_CmpGT8Ux8 = 82269, |
| 460 |
Iop_CmpGT16Ux4 = 82270, |
|
460 |
Iop_CmpGT16Ux4 = 82270, |
| 461 |
Iop_CmpGT32Ux2 = 82271, |
|
461 |
Iop_CmpGT32Ux2 = 82271, |
| 462 |
Iop_CmpGT8Sx8 = 82272, |
|
462 |
Iop_CmpGT8Sx8 = 82272, |
| 463 |
Iop_CmpGT16Sx4 = 82273, |
|
463 |
Iop_CmpGT16Sx4 = 82273, |
| 464 |
Iop_CmpGT32Sx2 = 82274, |
|
464 |
Iop_CmpGT32Sx2 = 82274, |
| 465 |
Iop_Cnt8x8 = 82275, |
|
465 |
Iop_Cnt8x8 = 82275, |
| 466 |
Iop_Clz8Sx8 = 82276, |
|
466 |
Iop_Clz8Sx8 = 82276, |
| 467 |
Iop_Clz16Sx4 = 82277, |
|
467 |
Iop_Clz16Sx4 = 82277, |
| 468 |
Iop_Clz32Sx2 = 82278, |
|
468 |
Iop_Clz32Sx2 = 82278, |
| 469 |
Iop_Cls8Sx8 = 82279, |
|
469 |
Iop_Cls8Sx8 = 82279, |
| 470 |
Iop_Cls16Sx4 = 82280, |
|
470 |
Iop_Cls16Sx4 = 82280, |
| 471 |
Iop_Cls32Sx2 = 82281, |
|
471 |
Iop_Cls32Sx2 = 82281, |
| 472 |
Iop_Shl8x8 = 82282, |
|
472 |
Iop_Shl8x8 = 82282, |
| 473 |
Iop_Shl16x4 = 82283, |
|
473 |
Iop_Shl16x4 = 82283, |
| 474 |
Iop_Shl32x2 = 82284, |
|
474 |
Iop_Shl32x2 = 82284, |
| 475 |
Iop_Shr8x8 = 82285, |
|
475 |
Iop_Shr8x8 = 82285, |
| 476 |
Iop_Shr16x4 = 82286, |
|
476 |
Iop_Shr16x4 = 82286, |
| 477 |
Iop_Shr32x2 = 82287, |
|
477 |
Iop_Shr32x2 = 82287, |
| 478 |
Iop_Sar8x8 = 82288, |
|
478 |
Iop_Sar8x8 = 82288, |
| 479 |
Iop_Sar16x4 = 82289, |
|
479 |
Iop_Sar16x4 = 82289, |
| 480 |
Iop_Sar32x2 = 82290, |
|
480 |
Iop_Sar32x2 = 82290, |
| 481 |
Iop_Sal8x8 = 82291, |
|
481 |
Iop_Sal8x8 = 82291, |
| 482 |
Iop_Sal16x4 = 82292, |
|
482 |
Iop_Sal16x4 = 82292, |
| 483 |
Iop_Sal32x2 = 82293, |
|
483 |
Iop_Sal32x2 = 82293, |
| 484 |
Iop_Sal64x1 = 82294, |
|
484 |
Iop_Sal64x1 = 82294, |
| 485 |
Iop_ShlN8x8 = 82295, |
|
485 |
Iop_ShlN8x8 = 82295, |
| 486 |
Iop_ShlN16x4 = 82296, |
|
486 |
Iop_ShlN16x4 = 82296, |
| 487 |
Iop_ShlN32x2 = 82297, |
|
487 |
Iop_ShlN32x2 = 82297, |
| 488 |
Iop_ShrN8x8 = 82298, |
|
488 |
Iop_ShrN8x8 = 82298, |
| 489 |
Iop_ShrN16x4 = 82299, |
|
489 |
Iop_ShrN16x4 = 82299, |
| 490 |
Iop_ShrN32x2 = 82300, |
|
490 |
Iop_ShrN32x2 = 82300, |
| 491 |
Iop_SarN8x8 = 82301, |
|
491 |
Iop_SarN8x8 = 82301, |
| 492 |
Iop_SarN16x4 = 82302, |
|
492 |
Iop_SarN16x4 = 82302, |
| 493 |
Iop_SarN32x2 = 82303, |
|
493 |
Iop_SarN32x2 = 82303, |
| 494 |
Iop_QShl8x8 = 82304, |
|
494 |
Iop_QShl8x8 = 82304, |
| 495 |
Iop_QShl16x4 = 82305, |
|
495 |
Iop_QShl16x4 = 82305, |
| 496 |
Iop_QShl32x2 = 82306, |
|
496 |
Iop_QShl32x2 = 82306, |
| 497 |
Iop_QShl64x1 = 82307, |
|
497 |
Iop_QShl64x1 = 82307, |
| 498 |
Iop_QSal8x8 = 82308, |
|
498 |
Iop_QSal8x8 = 82308, |
| 499 |
Iop_QSal16x4 = 82309, |
|
499 |
Iop_QSal16x4 = 82309, |
| 500 |
Iop_QSal32x2 = 82310, |
|
500 |
Iop_QSal32x2 = 82310, |
| 501 |
Iop_QSal64x1 = 82311, |
|
501 |
Iop_QSal64x1 = 82311, |
| 502 |
Iop_QShlN8Sx8 = 82312, |
|
502 |
Iop_QShlN8Sx8 = 82312, |
| 503 |
Iop_QShlN16Sx4 = 82313, |
|
503 |
Iop_QShlN16Sx4 = 82313, |
| 504 |
Iop_QShlN32Sx2 = 82314, |
|
504 |
Iop_QShlN32Sx2 = 82314, |
| 505 |
Iop_QShlN64Sx1 = 82315, |
|
505 |
Iop_QShlN64Sx1 = 82315, |
| 506 |
Iop_QShlN8x8 = 82316, |
|
506 |
Iop_QShlN8x8 = 82316, |
| 507 |
Iop_QShlN16x4 = 82317, |
|
507 |
Iop_QShlN16x4 = 82317, |
| 508 |
Iop_QShlN32x2 = 82318, |
|
508 |
Iop_QShlN32x2 = 82318, |
| 509 |
Iop_QShlN64x1 = 82319, |
|
509 |
Iop_QShlN64x1 = 82319, |
| 510 |
Iop_QSalN8x8 = 82320, |
|
510 |
Iop_QSalN8x8 = 82320, |
| 511 |
Iop_QSalN16x4 = 82321, |
|
511 |
Iop_QSalN16x4 = 82321, |
| 512 |
Iop_QSalN32x2 = 82322, |
|
512 |
Iop_QSalN32x2 = 82322, |
| 513 |
Iop_QSalN64x1 = 82323, |
|
513 |
Iop_QSalN64x1 = 82323, |
| 514 |
Iop_QNarrowBin16Sto8Ux8 = 82324, |
|
514 |
Iop_QNarrowBin16Sto8Ux8 = 82324, |
| 515 |
Iop_QNarrowBin16Sto8Sx8 = 82325, |
|
515 |
Iop_QNarrowBin16Sto8Sx8 = 82325, |
| 516 |
Iop_QNarrowBin32Sto16Sx4 = 82326, |
|
516 |
Iop_QNarrowBin32Sto16Sx4 = 82326, |
| 517 |
Iop_InterleaveHI8x8 = 82327, |
|
517 |
Iop_InterleaveHI8x8 = 82327, |
| 518 |
Iop_InterleaveHI16x4 = 82328, |
|
518 |
Iop_InterleaveHI16x4 = 82328, |
| 519 |
Iop_InterleaveHI32x2 = 82329, |
|
519 |
Iop_InterleaveHI32x2 = 82329, |
| 520 |
Iop_InterleaveLO8x8 = 82330, |
|
520 |
Iop_InterleaveLO8x8 = 82330, |
| 521 |
Iop_InterleaveLO16x4 = 82331, |
|
521 |
Iop_InterleaveLO16x4 = 82331, |
| 522 |
Iop_InterleaveLO32x2 = 82332, |
|
522 |
Iop_InterleaveLO32x2 = 82332, |
| 523 |
Iop_InterleaveOddLanes8x8 = 82333, |
|
523 |
Iop_InterleaveOddLanes8x8 = 82333, |
| 524 |
Iop_InterleaveEvenLanes8x8 = 82334, |
|
524 |
Iop_InterleaveEvenLanes8x8 = 82334, |
| 525 |
Iop_InterleaveOddLanes16x4 = 82335, |
|
525 |
Iop_InterleaveOddLanes16x4 = 82335, |
| 526 |
Iop_InterleaveEvenLanes16x4 = 82336, |
|
526 |
Iop_InterleaveEvenLanes16x4 = 82336, |
| 527 |
Iop_CatOddLanes8x8 = 82337, |
|
527 |
Iop_CatOddLanes8x8 = 82337, |
| 528 |
Iop_CatOddLanes16x4 = 82338, |
|
528 |
Iop_CatOddLanes16x4 = 82338, |
| 529 |
Iop_CatEvenLanes8x8 = 82339, |
|
529 |
Iop_CatEvenLanes8x8 = 82339, |
| 530 |
Iop_CatEvenLanes16x4 = 82340, |
|
530 |
Iop_CatEvenLanes16x4 = 82340, |
| 531 |
Iop_GetElem8x8 = 82341, |
|
531 |
Iop_GetElem8x8 = 82341, |
| 532 |
Iop_GetElem16x4 = 82342, |
|
532 |
Iop_GetElem16x4 = 82342, |
| 533 |
Iop_GetElem32x2 = 82343, |
|
533 |
Iop_GetElem32x2 = 82343, |
| 534 |
Iop_SetElem8x8 = 82344, |
|
534 |
Iop_SetElem8x8 = 82344, |
| 535 |
Iop_SetElem16x4 = 82345, |
|
535 |
Iop_SetElem16x4 = 82345, |
| 536 |
Iop_SetElem32x2 = 82346, |
|
536 |
Iop_SetElem32x2 = 82346, |
| 537 |
Iop_Dup8x8 = 82347, |
|
537 |
Iop_Dup8x8 = 82347, |
| 538 |
Iop_Dup16x4 = 82348, |
|
538 |
Iop_Dup16x4 = 82348, |
| 539 |
Iop_Dup32x2 = 82349, |
|
539 |
Iop_Dup32x2 = 82349, |
| 540 |
Iop_Extract64 = 82350, |
|
540 |
Iop_Extract64 = 82350, |
| 541 |
Iop_Reverse16_8x8 = 82351, |
|
541 |
Iop_Reverse16_8x8 = 82351, |
| 542 |
Iop_Reverse32_8x8 = 82352, |
|
542 |
Iop_Reverse32_8x8 = 82352, |
| 543 |
Iop_Reverse32_16x4 = 82353, |
|
543 |
Iop_Reverse32_16x4 = 82353, |
| 544 |
Iop_Reverse64_8x8 = 82354, |
|
544 |
Iop_Reverse64_8x8 = 82354, |
| 545 |
Iop_Reverse64_16x4 = 82355, |
|
545 |
Iop_Reverse64_16x4 = 82355, |
| 546 |
Iop_Reverse64_32x2 = 82356, |
|
546 |
Iop_Reverse64_32x2 = 82356, |
| 547 |
Iop_Perm8x8 = 82357, |
|
547 |
Iop_Perm8x8 = 82357, |
| 548 |
Iop_Recip32x2 = 82358, |
|
548 |
Iop_Recip32x2 = 82358, |
| 549 |
Iop_Rsqrte32x2 = 82359, |
|
549 |
Iop_Rsqrte32x2 = 82359, |
| 550 |
Iop_Add32Fx4 = 82360, |
|
550 |
Iop_Add32Fx4 = 82360, |
| 551 |
Iop_Sub32Fx4 = 82361, |
|
551 |
Iop_Sub32Fx4 = 82361, |
| 552 |
Iop_Mul32Fx4 = 82362, |
|
552 |
Iop_Mul32Fx4 = 82362, |
| 553 |
Iop_Div32Fx4 = 82363, |
|
553 |
Iop_Div32Fx4 = 82363, |
| 554 |
Iop_Max32Fx4 = 82364, |
|
554 |
Iop_Max32Fx4 = 82364, |
| 555 |
Iop_Min32Fx4 = 82365, |
|
555 |
Iop_Min32Fx4 = 82365, |
| 556 |
Iop_Add32Fx2 = 82366, |
|
556 |
Iop_Add32Fx2 = 82366, |
| 557 |
Iop_Sub32Fx2 = 82367, |
|
557 |
Iop_Sub32Fx2 = 82367, |
| 558 |
Iop_CmpEQ32Fx4 = 82368, |
|
558 |
Iop_CmpEQ32Fx4 = 82368, |
| 559 |
Iop_CmpLT32Fx4 = 82369, |
|
559 |
Iop_CmpLT32Fx4 = 82369, |
| 560 |
Iop_CmpLE32Fx4 = 82370, |
|
560 |
Iop_CmpLE32Fx4 = 82370, |
| 561 |
Iop_CmpUN32Fx4 = 82371, |
|
561 |
Iop_CmpUN32Fx4 = 82371, |
| 562 |
Iop_CmpGT32Fx4 = 82372, |
|
562 |
Iop_CmpGT32Fx4 = 82372, |
| 563 |
Iop_CmpGE32Fx4 = 82373, |
|
563 |
Iop_CmpGE32Fx4 = 82373, |
| 564 |
Iop_Abs32Fx4 = 82374, |
|
564 |
Iop_Abs32Fx4 = 82374, |
| 565 |
Iop_PwMax32Fx4 = 82375, |
|
565 |
Iop_PwMax32Fx4 = 82375, |
| 566 |
Iop_PwMin32Fx4 = 82376, |
|
566 |
Iop_PwMin32Fx4 = 82376, |
| 567 |
Iop_Sqrt32Fx4 = 82377, |
|
567 |
Iop_Sqrt32Fx4 = 82377, |
| 568 |
Iop_RSqrt32Fx4 = 82378, |
|
568 |
Iop_RSqrt32Fx4 = 82378, |
| 569 |
Iop_Neg32Fx4 = 82379, |
|
569 |
Iop_Neg32Fx4 = 82379, |
| 570 |
Iop_Recip32Fx4 = 82380, |
|
570 |
Iop_Recip32Fx4 = 82380, |
| 571 |
Iop_Recps32Fx4 = 82381, |
|
571 |
Iop_Recps32Fx4 = 82381, |
| 572 |
Iop_Rsqrte32Fx4 = 82382, |
|
572 |
Iop_Rsqrte32Fx4 = 82382, |
| 573 |
Iop_Rsqrts32Fx4 = 82383, |
|
573 |
Iop_Rsqrts32Fx4 = 82383, |
| 574 |
Iop_I32UtoFx4 = 82384, |
|
574 |
Iop_I32UtoFx4 = 82384, |
| 575 |
Iop_I32StoFx4 = 82385, |
|
575 |
Iop_I32StoFx4 = 82385, |
| 576 |
Iop_FtoI32Ux4_RZ = 82386, |
|
576 |
Iop_FtoI32Ux4_RZ = 82386, |
| 577 |
Iop_FtoI32Sx4_RZ = 82387, |
|
577 |
Iop_FtoI32Sx4_RZ = 82387, |
| 578 |
Iop_QFtoI32Ux4_RZ = 82388, |
|
578 |
Iop_QFtoI32Ux4_RZ = 82388, |
| 579 |
Iop_QFtoI32Sx4_RZ = 82389, |
|
579 |
Iop_QFtoI32Sx4_RZ = 82389, |
| 580 |
Iop_RoundF32x4_RM = 82390, |
|
580 |
Iop_RoundF32x4_RM = 82390, |
| 581 |
Iop_RoundF32x4_RP = 82391, |
|
581 |
Iop_RoundF32x4_RP = 82391, |
| 582 |
Iop_RoundF32x4_RN = 82392, |
|
582 |
Iop_RoundF32x4_RN = 82392, |
| 583 |
Iop_RoundF32x4_RZ = 82393, |
|
583 |
Iop_RoundF32x4_RZ = 82393, |
| 584 |
Iop_F32ToFixed32Ux4_RZ = 82394, |
|
584 |
Iop_F32ToFixed32Ux4_RZ = 82394, |
| 585 |
Iop_F32ToFixed32Sx4_RZ = 82395, |
|
585 |
Iop_F32ToFixed32Sx4_RZ = 82395, |
| 586 |
Iop_Fixed32UToF32x4_RN = 82396, |
|
586 |
Iop_Fixed32UToF32x4_RN = 82396, |
| 587 |
Iop_Fixed32SToF32x4_RN = 82397, |
|
587 |
Iop_Fixed32SToF32x4_RN = 82397, |
| 588 |
Iop_F32toF16x4 = 82398, |
|
588 |
Iop_F32toF16x4 = 82398, |
| 589 |
Iop_F16toF32x4 = 82399, |
|
589 |
Iop_F16toF32x4 = 82399, |
| 590 |
Iop_Add32F0x4 = 82400, |
|
590 |
Iop_Add32F0x4 = 82400, |
| 591 |
Iop_Sub32F0x4 = 82401, |
|
591 |
Iop_Sub32F0x4 = 82401, |
| 592 |
Iop_Mul32F0x4 = 82402, |
|
592 |
Iop_Mul32F0x4 = 82402, |
| 593 |
Iop_Div32F0x4 = 82403, |
|
593 |
Iop_Div32F0x4 = 82403, |
| 594 |
Iop_Max32F0x4 = 82404, |
|
594 |
Iop_Max32F0x4 = 82404, |
| 595 |
Iop_Min32F0x4 = 82405, |
|
595 |
Iop_Min32F0x4 = 82405, |
| 596 |
Iop_CmpEQ32F0x4 = 82406, |
|
596 |
Iop_CmpEQ32F0x4 = 82406, |
| 597 |
Iop_CmpLT32F0x4 = 82407, |
|
597 |
Iop_CmpLT32F0x4 = 82407, |
| 598 |
Iop_CmpLE32F0x4 = 82408, |
|
598 |
Iop_CmpLE32F0x4 = 82408, |
| 599 |
Iop_CmpUN32F0x4 = 82409, |
|
599 |
Iop_CmpUN32F0x4 = 82409, |
| 600 |
Iop_Recip32F0x4 = 82410, |
|
600 |
Iop_Recip32F0x4 = 82410, |
| 601 |
Iop_Sqrt32F0x4 = 82411, |
|
601 |
Iop_Sqrt32F0x4 = 82411, |
| 602 |
Iop_RSqrt32F0x4 = 82412, |
|
602 |
Iop_RSqrt32F0x4 = 82412, |
| 603 |
Iop_Add64Fx2 = 82413, |
|
603 |
Iop_Add64Fx2 = 82413, |
| 604 |
Iop_Sub64Fx2 = 82414, |
|
604 |
Iop_Sub64Fx2 = 82414, |
| 605 |
Iop_Mul64Fx2 = 82415, |
|
605 |
Iop_Mul64Fx2 = 82415, |
| 606 |
Iop_Div64Fx2 = 82416, |
|
606 |
Iop_Div64Fx2 = 82416, |
| 607 |
Iop_Max64Fx2 = 82417, |
|
607 |
Iop_Max64Fx2 = 82417, |
| 608 |
Iop_Min64Fx2 = 82418, |
|
608 |
Iop_Min64Fx2 = 82418, |
| 609 |
Iop_CmpEQ64Fx2 = 82419, |
|
609 |
Iop_CmpEQ64Fx2 = 82419, |
| 610 |
Iop_CmpLT64Fx2 = 82420, |
|
610 |
Iop_CmpLT64Fx2 = 82420, |
| 611 |
Iop_CmpLE64Fx2 = 82421, |
|
611 |
Iop_CmpLE64Fx2 = 82421, |
| 612 |
Iop_CmpUN64Fx2 = 82422, |
|
612 |
Iop_CmpUN64Fx2 = 82422, |
| 613 |
Iop_Recip64Fx2 = 82423, |
|
613 |
Iop_Recip64Fx2 = 82423, |
| 614 |
Iop_Sqrt64Fx2 = 82424, |
|
614 |
Iop_Sqrt64Fx2 = 82424, |
| 615 |
Iop_RSqrt64Fx2 = 82425, |
|
615 |
Iop_RSqrt64Fx2 = 82425, |
| 616 |
Iop_Add64F0x2 = 82426, |
|
616 |
Iop_Add64F0x2 = 82426, |
| 617 |
Iop_Sub64F0x2 = 82427, |
|
617 |
Iop_Sub64F0x2 = 82427, |
| 618 |
Iop_Mul64F0x2 = 82428, |
|
618 |
Iop_Mul64F0x2 = 82428, |
| 619 |
Iop_Div64F0x2 = 82429, |
|
619 |
Iop_Div64F0x2 = 82429, |
| 620 |
Iop_Max64F0x2 = 82430, |
|
620 |
Iop_Max64F0x2 = 82430, |
| 621 |
Iop_Min64F0x2 = 82431, |
|
621 |
Iop_Min64F0x2 = 82431, |
| 622 |
Iop_CmpEQ64F0x2 = 82432, |
|
622 |
Iop_CmpEQ64F0x2 = 82432, |
| 623 |
Iop_CmpLT64F0x2 = 82433, |
|
623 |
Iop_CmpLT64F0x2 = 82433, |
| 624 |
Iop_CmpLE64F0x2 = 82434, |
|
624 |
Iop_CmpLE64F0x2 = 82434, |
| 625 |
Iop_CmpUN64F0x2 = 82435, |
|
625 |
Iop_CmpUN64F0x2 = 82435, |
| 626 |
Iop_Recip64F0x2 = 82436, |
|
626 |
Iop_Recip64F0x2 = 82436, |
| 627 |
Iop_Sqrt64F0x2 = 82437, |
|
627 |
Iop_Sqrt64F0x2 = 82437, |
| 628 |
Iop_RSqrt64F0x2 = 82438, |
|
628 |
Iop_RSqrt64F0x2 = 82438, |
| 629 |
Iop_V128to64 = 82439, |
|
629 |
Iop_V128to64 = 82439, |
| 630 |
Iop_V128HIto64 = 82440, |
|
630 |
Iop_V128HIto64 = 82440, |
| 631 |
Iop_64HLtoV128 = 82441, |
|
631 |
Iop_64HLtoV128 = 82441, |
| 632 |
Iop_64UtoV128 = 82442, |
|
632 |
Iop_64UtoV128 = 82442, |
| 633 |
Iop_SetV128lo64 = 82443, |
|
633 |
Iop_SetV128lo64 = 82443, |
| 634 |
Iop_32UtoV128 = 82444, |
|
634 |
Iop_32UtoV128 = 82444, |
| 635 |
Iop_V128to32 = 82445, |
|
635 |
Iop_V128to32 = 82445, |
| 636 |
Iop_SetV128lo32 = 82446, |
|
636 |
Iop_SetV128lo32 = 82446, |
| 637 |
Iop_NotV128 = 82447, |
|
637 |
Iop_NotV128 = 82447, |
| 638 |
Iop_AndV128 = 82448, |
|
638 |
Iop_AndV128 = 82448, |
| 639 |
Iop_OrV128 = 82449, |
|
639 |
Iop_OrV128 = 82449, |
| 640 |
Iop_XorV128 = 82450, |
|
640 |
Iop_XorV128 = 82450, |
| 641 |
Iop_ShlV128 = 82451, |
|
641 |
Iop_ShlV128 = 82451, |
| 642 |
Iop_ShrV128 = 82452, |
|
642 |
Iop_ShrV128 = 82452, |
| 643 |
Iop_CmpNEZ8x16 = 82453, |
|
643 |
Iop_CmpNEZ8x16 = 82453, |
| 644 |
Iop_CmpNEZ16x8 = 82454, |
|
644 |
Iop_CmpNEZ16x8 = 82454, |
| 645 |
Iop_CmpNEZ32x4 = 82455, |
|
645 |
Iop_CmpNEZ32x4 = 82455, |
| 646 |
Iop_CmpNEZ64x2 = 82456, |
|
646 |
Iop_CmpNEZ64x2 = 82456, |
| 647 |
Iop_Add8x16 = 82457, |
|
647 |
Iop_Add8x16 = 82457, |
| 648 |
Iop_Add16x8 = 82458, |
|
648 |
Iop_Add16x8 = 82458, |
| 649 |
Iop_Add32x4 = 82459, |
|
649 |
Iop_Add32x4 = 82459, |
| 650 |
Iop_Add64x2 = 82460, |
|
650 |
Iop_Add64x2 = 82460, |
| 651 |
Iop_QAdd8Ux16 = 82461, |
|
651 |
Iop_QAdd8Ux16 = 82461, |
| 652 |
Iop_QAdd16Ux8 = 82462, |
|
652 |
Iop_QAdd16Ux8 = 82462, |
| 653 |
Iop_QAdd32Ux4 = 82463, |
|
653 |
Iop_QAdd32Ux4 = 82463, |
| 654 |
Iop_QAdd64Ux2 = 82464, |
|
654 |
Iop_QAdd64Ux2 = 82464, |
| 655 |
Iop_QAdd8Sx16 = 82465, |
|
655 |
Iop_QAdd8Sx16 = 82465, |
| 656 |
Iop_QAdd16Sx8 = 82466, |
|
656 |
Iop_QAdd16Sx8 = 82466, |
| 657 |
Iop_QAdd32Sx4 = 82467, |
|
657 |
Iop_QAdd32Sx4 = 82467, |
| 658 |
Iop_QAdd64Sx2 = 82468, |
|
658 |
Iop_QAdd64Sx2 = 82468, |
| 659 |
Iop_Sub8x16 = 82469, |
|
659 |
Iop_Sub8x16 = 82469, |
| 660 |
Iop_Sub16x8 = 82470, |
|
660 |
Iop_Sub16x8 = 82470, |
| 661 |
Iop_Sub32x4 = 82471, |
|
661 |
Iop_Sub32x4 = 82471, |
| 662 |
Iop_Sub64x2 = 82472, |
|
662 |
Iop_Sub64x2 = 82472, |
| 663 |
Iop_QSub8Ux16 = 82473, |
|
663 |
Iop_QSub8Ux16 = 82473, |
| 664 |
Iop_QSub16Ux8 = 82474, |
|
664 |
Iop_QSub16Ux8 = 82474, |
| 665 |
Iop_QSub32Ux4 = 82475, |
|
665 |
Iop_QSub32Ux4 = 82475, |
| 666 |
Iop_QSub64Ux2 = 82476, |
|
666 |
Iop_QSub64Ux2 = 82476, |
| 667 |
Iop_QSub8Sx16 = 82477, |
|
667 |
Iop_QSub8Sx16 = 82477, |
| 668 |
Iop_QSub16Sx8 = 82478, |
|
668 |
Iop_QSub16Sx8 = 82478, |
| 669 |
Iop_QSub32Sx4 = 82479, |
|
669 |
Iop_QSub32Sx4 = 82479, |
| 670 |
Iop_QSub64Sx2 = 82480, |
|
670 |
Iop_QSub64Sx2 = 82480, |
| 671 |
Iop_Mul8x16 = 82481, |
|
671 |
Iop_Mul8x16 = 82481, |
| 672 |
Iop_Mul16x8 = 82482, |
|
672 |
Iop_Mul16x8 = 82482, |
| 673 |
Iop_Mul32x4 = 82483, |
|
673 |
Iop_Mul32x4 = 82483, |
| 674 |
Iop_MulHi16Ux8 = 82484, |
|
674 |
Iop_MulHi16Ux8 = 82484, |
| 675 |
Iop_MulHi32Ux4 = 82485, |
|
675 |
Iop_MulHi32Ux4 = 82485, |
| 676 |
Iop_MulHi16Sx8 = 82486, |
|
676 |
Iop_MulHi16Sx8 = 82486, |
| 677 |
Iop_MulHi32Sx4 = 82487, |
|
677 |
Iop_MulHi32Sx4 = 82487, |
| 678 |
Iop_MullEven8Ux16 = 82488, |
|
678 |
Iop_MullEven8Ux16 = 82488, |
| 679 |
Iop_MullEven16Ux8 = 82489, |
|
679 |
Iop_MullEven16Ux8 = 82489, |
| 680 |
Iop_MullEven8Sx16 = 82490, |
|
680 |
Iop_MullEven8Sx16 = 82490, |
| 681 |
Iop_MullEven16Sx8 = 82491, |
|
681 |
Iop_MullEven16Sx8 = 82491, |
| 682 |
Iop_Mull8Ux8 = 82492, |
|
682 |
Iop_Mull8Ux8 = 82492, |
| 683 |
Iop_Mull8Sx8 = 82493, |
|
683 |
Iop_Mull8Sx8 = 82493, |
| 684 |
Iop_Mull16Ux4 = 82494, |
|
684 |
Iop_Mull16Ux4 = 82494, |
| 685 |
Iop_Mull16Sx4 = 82495, |
|
685 |
Iop_Mull16Sx4 = 82495, |
| 686 |
Iop_Mull32Ux2 = 82496, |
|
686 |
Iop_Mull32Ux2 = 82496, |
| 687 |
Iop_Mull32Sx2 = 82497, |
|
687 |
Iop_Mull32Sx2 = 82497, |
| 688 |
Iop_QDMulHi16Sx8 = 82498, |
|
688 |
Iop_QDMulHi16Sx8 = 82498, |
| 689 |
Iop_QDMulHi32Sx4 = 82499, |
|
689 |
Iop_QDMulHi32Sx4 = 82499, |
| 690 |
Iop_QRDMulHi16Sx8 = 82500, |
|
690 |
Iop_QRDMulHi16Sx8 = 82500, |
| 691 |
Iop_QRDMulHi32Sx4 = 82501, |
|
691 |
Iop_QRDMulHi32Sx4 = 82501, |
| 692 |
Iop_QDMulLong16Sx4 = 82502, |
|
692 |
Iop_QDMulLong16Sx4 = 82502, |
| 693 |
Iop_QDMulLong32Sx2 = 82503, |
|
693 |
Iop_QDMulLong32Sx2 = 82503, |
| 694 |
Iop_PolynomialMul8x16 = 82504, |
|
694 |
Iop_PolynomialMul8x16 = 82504, |
| 695 |
Iop_PolynomialMull8x8 = 82505, |
|
695 |
Iop_PolynomialMull8x8 = 82505, |
| 696 |
Iop_PwAdd8x16 = 82506, |
|
696 |
Iop_PwAdd8x16 = 82506, |
| 697 |
Iop_PwAdd16x8 = 82507, |
|
697 |
Iop_PwAdd16x8 = 82507, |
| 698 |
Iop_PwAdd32x4 = 82508, |
|
698 |
Iop_PwAdd32x4 = 82508, |
| 699 |
Iop_PwAdd32Fx2 = 82509, |
|
699 |
Iop_PwAdd32Fx2 = 82509, |
| 700 |
Iop_PwAddL8Ux16 = 82510, |
|
700 |
Iop_PwAddL8Ux16 = 82510, |
| 701 |
Iop_PwAddL16Ux8 = 82511, |
|
701 |
Iop_PwAddL16Ux8 = 82511, |
| 702 |
Iop_PwAddL32Ux4 = 82512, |
|
702 |
Iop_PwAddL32Ux4 = 82512, |
| 703 |
Iop_PwAddL8Sx16 = 82513, |
|
703 |
Iop_PwAddL8Sx16 = 82513, |
| 704 |
Iop_PwAddL16Sx8 = 82514, |
|
704 |
Iop_PwAddL16Sx8 = 82514, |
| 705 |
Iop_PwAddL32Sx4 = 82515, |
|
705 |
Iop_PwAddL32Sx4 = 82515, |
| 706 |
Iop_Abs8x16 = 82516, |
|
706 |
Iop_Abs8x16 = 82516, |
| 707 |
Iop_Abs16x8 = 82517, |
|
707 |
Iop_Abs16x8 = 82517, |
| 708 |
Iop_Abs32x4 = 82518, |
|
708 |
Iop_Abs32x4 = 82518, |
| 709 |
Iop_Avg8Ux16 = 82519, |
|
709 |
Iop_Avg8Ux16 = 82519, |
| 710 |
Iop_Avg16Ux8 = 82520, |
|
710 |
Iop_Avg16Ux8 = 82520, |
| 711 |
Iop_Avg32Ux4 = 82521, |
|
711 |
Iop_Avg32Ux4 = 82521, |
| 712 |
Iop_Avg8Sx16 = 82522, |
|
712 |
Iop_Avg8Sx16 = 82522, |
| 713 |
Iop_Avg16Sx8 = 82523, |
|
713 |
Iop_Avg16Sx8 = 82523, |
| 714 |
Iop_Avg32Sx4 = 82524, |
|
714 |
Iop_Avg32Sx4 = 82524, |
| 715 |
Iop_Max8Sx16 = 82525, |
|
715 |
Iop_Max8Sx16 = 82525, |
| 716 |
Iop_Max16Sx8 = 82526, |
|
716 |
Iop_Max16Sx8 = 82526, |
| 717 |
Iop_Max32Sx4 = 82527, |
|
717 |
Iop_Max32Sx4 = 82527, |
| 718 |
Iop_Max8Ux16 = 82528, |
|
718 |
Iop_Max8Ux16 = 82528, |
| 719 |
Iop_Max16Ux8 = 82529, |
|
719 |
Iop_Max16Ux8 = 82529, |
| 720 |
Iop_Max32Ux4 = 82530, |
|
720 |
Iop_Max32Ux4 = 82530, |
| 721 |
Iop_Min8Sx16 = 82531, |
|
721 |
Iop_Min8Sx16 = 82531, |
| 722 |
Iop_Min16Sx8 = 82532, |
|
722 |
Iop_Min16Sx8 = 82532, |
| 723 |
Iop_Min32Sx4 = 82533, |
|
723 |
Iop_Min32Sx4 = 82533, |
| 724 |
Iop_Min8Ux16 = 82534, |
|
724 |
Iop_Min8Ux16 = 82534, |
| 725 |
Iop_Min16Ux8 = 82535, |
|
725 |
Iop_Min16Ux8 = 82535, |
| 726 |
Iop_Min32Ux4 = 82536, |
|
726 |
Iop_Min32Ux4 = 82536, |
| 727 |
Iop_CmpEQ8x16 = 82537, |
|
727 |
Iop_CmpEQ8x16 = 82537, |
| 728 |
Iop_CmpEQ16x8 = 82538, |
|
728 |
Iop_CmpEQ16x8 = 82538, |
| 729 |
Iop_CmpEQ32x4 = 82539, |
|
729 |
Iop_CmpEQ32x4 = 82539, |
| 730 |
Iop_CmpGT8Sx16 = 82540, |
|
730 |
Iop_CmpGT8Sx16 = 82540, |
| 731 |
Iop_CmpGT16Sx8 = 82541, |
|
731 |
Iop_CmpGT16Sx8 = 82541, |
| 732 |
Iop_CmpGT32Sx4 = 82542, |
|
732 |
Iop_CmpGT32Sx4 = 82542, |
| 733 |
Iop_CmpGT64Sx2 = 82543, |
|
733 |
Iop_CmpGT64Sx2 = 82543, |
| 734 |
Iop_CmpGT8Ux16 = 82544, |
|
734 |
Iop_CmpGT8Ux16 = 82544, |
| 735 |
Iop_CmpGT16Ux8 = 82545, |
|
735 |
Iop_CmpGT16Ux8 = 82545, |
| 736 |
Iop_CmpGT32Ux4 = 82546, |
|
736 |
Iop_CmpGT32Ux4 = 82546, |
| 737 |
Iop_Cnt8x16 = 82547, |
|
737 |
Iop_Cnt8x16 = 82547, |
| 738 |
Iop_Clz8Sx16 = 82548, |
|
738 |
Iop_Clz8Sx16 = 82548, |
| 739 |
Iop_Clz16Sx8 = 82549, |
|
739 |
Iop_Clz16Sx8 = 82549, |
| 740 |
Iop_Clz32Sx4 = 82550, |
|
740 |
Iop_Clz32Sx4 = 82550, |
| 741 |
Iop_Cls8Sx16 = 82551, |
|
741 |
Iop_Cls8Sx16 = 82551, |
| 742 |
Iop_Cls16Sx8 = 82552, |
|
742 |
Iop_Cls16Sx8 = 82552, |
| 743 |
Iop_Cls32Sx4 = 82553, |
|
743 |
Iop_Cls32Sx4 = 82553, |
| 744 |
Iop_ShlN8x16 = 82554, |
|
744 |
Iop_ShlN8x16 = 82554, |
| 745 |
Iop_ShlN16x8 = 82555, |
|
745 |
Iop_ShlN16x8 = 82555, |
| 746 |
Iop_ShlN32x4 = 82556, |
|
746 |
Iop_ShlN32x4 = 82556, |
| 747 |
Iop_ShlN64x2 = 82557, |
|
747 |
Iop_ShlN64x2 = 82557, |
| 748 |
Iop_ShrN8x16 = 82558, |
|
748 |
Iop_ShrN8x16 = 82558, |
| 749 |
Iop_ShrN16x8 = 82559, |
|
749 |
Iop_ShrN16x8 = 82559, |
| 750 |
Iop_ShrN32x4 = 82560, |
|
750 |
Iop_ShrN32x4 = 82560, |
| 751 |
Iop_ShrN64x2 = 82561, |
|
751 |
Iop_ShrN64x2 = 82561, |
| 752 |
Iop_SarN8x16 = 82562, |
|
752 |
Iop_SarN8x16 = 82562, |
| 753 |
Iop_SarN16x8 = 82563, |
|
753 |
Iop_SarN16x8 = 82563, |
| 754 |
Iop_SarN32x4 = 82564, |
|
754 |
Iop_SarN32x4 = 82564, |
| 755 |
Iop_SarN64x2 = 82565, |
|
755 |
Iop_SarN64x2 = 82565, |
| 756 |
Iop_Shl8x16 = 82566, |
|
756 |
Iop_Shl8x16 = 82566, |
| 757 |
Iop_Shl16x8 = 82567, |
|
757 |
Iop_Shl16x8 = 82567, |
| 758 |
Iop_Shl32x4 = 82568, |
|
758 |
Iop_Shl32x4 = 82568, |
| 759 |
Iop_Shl64x2 = 82569, |
|
759 |
Iop_Shl64x2 = 82569, |
| 760 |
Iop_Shr8x16 = 82570, |
|
760 |
Iop_Shr8x16 = 82570, |
| 761 |
Iop_Shr16x8 = 82571, |
|
761 |
Iop_Shr16x8 = 82571, |
| 762 |
Iop_Shr32x4 = 82572, |
|
762 |
Iop_Shr32x4 = 82572, |
| 763 |
Iop_Shr64x2 = 82573, |
|
763 |
Iop_Shr64x2 = 82573, |
| 764 |
Iop_Sar8x16 = 82574, |
|
764 |
Iop_Sar8x16 = 82574, |
| 765 |
Iop_Sar16x8 = 82575, |
|
765 |
Iop_Sar16x8 = 82575, |
| 766 |
Iop_Sar32x4 = 82576, |
|
766 |
Iop_Sar32x4 = 82576, |
| 767 |
Iop_Sar64x2 = 82577, |
|
767 |
Iop_Sar64x2 = 82577, |
| 768 |
Iop_Sal8x16 = 82578, |
|
768 |
Iop_Sal8x16 = 82578, |
| 769 |
Iop_Sal16x8 = 82579, |
|
769 |
Iop_Sal16x8 = 82579, |
| 770 |
Iop_Sal32x4 = 82580, |
|
770 |
Iop_Sal32x4 = 82580, |
| 771 |
Iop_Sal64x2 = 82581, |
|
771 |
Iop_Sal64x2 = 82581, |
| 772 |
Iop_Rol8x16 = 82582, |
|
772 |
Iop_Rol8x16 = 82582, |
| 773 |
Iop_Rol16x8 = 82583, |
|
773 |
Iop_Rol16x8 = 82583, |
| 774 |
Iop_Rol32x4 = 82584, |
|
774 |
Iop_Rol32x4 = 82584, |
| 775 |
Iop_QShl8x16 = 82585, |
|
775 |
Iop_QShl8x16 = 82585, |
| 776 |
Iop_QShl16x8 = 82586, |
|
776 |
Iop_QShl16x8 = 82586, |
| 777 |
Iop_QShl32x4 = 82587, |
|
777 |
Iop_QShl32x4 = 82587, |
| 778 |
Iop_QShl64x2 = 82588, |
|
778 |
Iop_QShl64x2 = 82588, |
| 779 |
Iop_QSal8x16 = 82589, |
|
779 |
Iop_QSal8x16 = 82589, |
| 780 |
Iop_QSal16x8 = 82590, |
|
780 |
Iop_QSal16x8 = 82590, |
| 781 |
Iop_QSal32x4 = 82591, |
|
781 |
Iop_QSal32x4 = 82591, |
| 782 |
Iop_QSal64x2 = 82592, |
|
782 |
Iop_QSal64x2 = 82592, |
| 783 |
Iop_QShlN8Sx16 = 82593, |
|
783 |
Iop_QShlN8Sx16 = 82593, |
| 784 |
Iop_QShlN16Sx8 = 82594, |
|
784 |
Iop_QShlN16Sx8 = 82594, |
| 785 |
Iop_QShlN32Sx4 = 82595, |
|
785 |
Iop_QShlN32Sx4 = 82595, |
| 786 |
Iop_QShlN64Sx2 = 82596, |
|
786 |
Iop_QShlN64Sx2 = 82596, |
| 787 |
Iop_QShlN8x16 = 82597, |
|
787 |
Iop_QShlN8x16 = 82597, |
| 788 |
Iop_QShlN16x8 = 82598, |
|
788 |
Iop_QShlN16x8 = 82598, |
| 789 |
Iop_QShlN32x4 = 82599, |
|
789 |
Iop_QShlN32x4 = 82599, |
| 790 |
Iop_QShlN64x2 = 82600, |
|
790 |
Iop_QShlN64x2 = 82600, |
| 791 |
Iop_QSalN8x16 = 82601, |
|
791 |
Iop_QSalN8x16 = 82601, |
| 792 |
Iop_QSalN16x8 = 82602, |
|
792 |
Iop_QSalN16x8 = 82602, |
| 793 |
Iop_QSalN32x4 = 82603, |
|
793 |
Iop_QSalN32x4 = 82603, |
| 794 |
Iop_QSalN64x2 = 82604, |
|
794 |
Iop_QSalN64x2 = 82604, |
| 795 |
Iop_QNarrowBin16Sto8Ux16 = 82605, |
|
795 |
Iop_QNarrowBin16Sto8Ux16 = 82605, |
| 796 |
Iop_QNarrowBin32Sto16Ux8 = 82606, |
|
796 |
Iop_QNarrowBin32Sto16Ux8 = 82606, |
| 797 |
Iop_QNarrowBin16Sto8Sx16 = 82607, |
|
797 |
Iop_QNarrowBin16Sto8Sx16 = 82607, |
| 798 |
Iop_QNarrowBin32Sto16Sx8 = 82608, |
|
798 |
Iop_QNarrowBin32Sto16Sx8 = 82608, |
| 799 |
Iop_QNarrowBin16Uto8Ux16 = 82609, |
|
799 |
Iop_QNarrowBin16Uto8Ux16 = 82609, |
| 800 |
Iop_QNarrowBin32Uto16Ux8 = 82610, |
|
800 |
Iop_QNarrowBin32Uto16Ux8 = 82610, |
| 801 |
Iop_NarrowBin16to8x16 = 82611, |
|
801 |
Iop_NarrowBin16to8x16 = 82611, |
| 802 |
Iop_NarrowBin32to16x8 = 82612, |
|
802 |
Iop_NarrowBin32to16x8 = 82612, |
| 803 |
Iop_NarrowUn16to8x8 = 82613, |
|
803 |
Iop_NarrowUn16to8x8 = 82613, |
| 804 |
Iop_NarrowUn32to16x4 = 82614, |
|
804 |
Iop_NarrowUn32to16x4 = 82614, |
| 805 |
Iop_NarrowUn64to32x2 = 82615, |
|
805 |
Iop_NarrowUn64to32x2 = 82615, |
| 806 |
Iop_QNarrowUn16Sto8Sx8 = 82616, |
|
806 |
Iop_QNarrowUn16Sto8Sx8 = 82616, |
| 807 |
Iop_QNarrowUn32Sto16Sx4 = 82617, |
|
807 |
Iop_QNarrowUn32Sto16Sx4 = 82617, |
| 808 |
Iop_QNarrowUn64Sto32Sx2 = 82618, |
|
808 |
Iop_QNarrowUn64Sto32Sx2 = 82618, |
| 809 |
Iop_QNarrowUn16Sto8Ux8 = 82619, |
|
809 |
Iop_QNarrowUn16Sto8Ux8 = 82619, |
| 810 |
Iop_QNarrowUn32Sto16Ux4 = 82620, |
|
810 |
Iop_QNarrowUn32Sto16Ux4 = 82620, |
| 811 |
Iop_QNarrowUn64Sto32Ux2 = 82621, |
|
811 |
Iop_QNarrowUn64Sto32Ux2 = 82621, |
| 812 |
Iop_QNarrowUn16Uto8Ux8 = 82622, |
|
812 |
Iop_QNarrowUn16Uto8Ux8 = 82622, |
| 813 |
Iop_QNarrowUn32Uto16Ux4 = 82623, |
|
813 |
Iop_QNarrowUn32Uto16Ux4 = 82623, |
| 814 |
Iop_QNarrowUn64Uto32Ux2 = 82624, |
|
814 |
Iop_QNarrowUn64Uto32Ux2 = 82624, |
| 815 |
Iop_Widen8Uto16x8 = 82625, |
|
815 |
Iop_Widen8Uto16x8 = 82625, |
| 816 |
Iop_Widen16Uto32x4 = 82626, |
|
816 |
Iop_Widen16Uto32x4 = 82626, |
| 817 |
Iop_Widen32Uto64x2 = 82627, |
|
817 |
Iop_Widen32Uto64x2 = 82627, |
| 818 |
Iop_Widen8Sto16x8 = 82628, |
|
818 |
Iop_Widen8Sto16x8 = 82628, |
| 819 |
Iop_Widen16Sto32x4 = 82629, |
|
819 |
Iop_Widen16Sto32x4 = 82629, |
| 820 |
Iop_Widen32Sto64x2 = 82630, |
|
820 |
Iop_Widen32Sto64x2 = 82630, |
| 821 |
Iop_InterleaveHI8x16 = 82631, |
|
821 |
Iop_InterleaveHI8x16 = 82631, |
| 822 |
Iop_InterleaveHI16x8 = 82632, |
|
822 |
Iop_InterleaveHI16x8 = 82632, |
| 823 |
Iop_InterleaveHI32x4 = 82633, |
|
823 |
Iop_InterleaveHI32x4 = 82633, |
| 824 |
Iop_InterleaveHI64x2 = 82634, |
|
824 |
Iop_InterleaveHI64x2 = 82634, |
| 825 |
Iop_InterleaveLO8x16 = 82635, |
|
825 |
Iop_InterleaveLO8x16 = 82635, |
| 826 |
Iop_InterleaveLO16x8 = 82636, |
|
826 |
Iop_InterleaveLO16x8 = 82636, |
| 827 |
Iop_InterleaveLO32x4 = 82637, |
|
827 |
Iop_InterleaveLO32x4 = 82637, |
| 828 |
Iop_InterleaveLO64x2 = 82638, |
|
828 |
Iop_InterleaveLO64x2 = 82638, |
| 829 |
Iop_InterleaveOddLanes8x16 = 82639, |
|
829 |
Iop_InterleaveOddLanes8x16 = 82639, |
| 830 |
Iop_InterleaveEvenLanes8x16 = 82640, |
|
830 |
Iop_InterleaveEvenLanes8x16 = 82640, |
| 831 |
Iop_InterleaveOddLanes16x8 = 82641, |
|
831 |
Iop_InterleaveOddLanes16x8 = 82641, |
| 832 |
Iop_InterleaveEvenLanes16x8 = 82642, |
|
832 |
Iop_InterleaveEvenLanes16x8 = 82642, |
| 833 |
Iop_InterleaveOddLanes32x4 = 82643, |
|
833 |
Iop_InterleaveOddLanes32x4 = 82643, |
| 834 |
Iop_InterleaveEvenLanes32x4 = 82644, |
|
834 |
Iop_InterleaveEvenLanes32x4 = 82644, |
| 835 |
Iop_CatOddLanes8x16 = 82645, |
|
835 |
Iop_CatOddLanes8x16 = 82645, |
| 836 |
Iop_CatOddLanes16x8 = 82646, |
|
836 |
Iop_CatOddLanes16x8 = 82646, |
| 837 |
Iop_CatOddLanes32x4 = 82647, |
|
837 |
Iop_CatOddLanes32x4 = 82647, |
| 838 |
Iop_CatEvenLanes8x16 = 82648, |
|
838 |
Iop_CatEvenLanes8x16 = 82648, |
| 839 |
Iop_CatEvenLanes16x8 = 82649, |
|
839 |
Iop_CatEvenLanes16x8 = 82649, |
| 840 |
Iop_CatEvenLanes32x4 = 82650, |
|
840 |
Iop_CatEvenLanes32x4 = 82650, |
| 841 |
Iop_GetElem8x16 = 82651, |
|
841 |
Iop_GetElem8x16 = 82651, |
| 842 |
Iop_GetElem16x8 = 82652, |
|
842 |
Iop_GetElem16x8 = 82652, |
| 843 |
Iop_GetElem32x4 = 82653, |
|
843 |
Iop_GetElem32x4 = 82653, |
| 844 |
Iop_GetElem64x2 = 82654, |
|
844 |
Iop_GetElem64x2 = 82654, |
| 845 |
Iop_Dup8x16 = 82655, |
|
845 |
Iop_Dup8x16 = 82655, |
| 846 |
Iop_Dup16x8 = 82656, |
|
846 |
Iop_Dup16x8 = 82656, |
| 847 |
Iop_Dup32x4 = 82657, |
|
847 |
Iop_Dup32x4 = 82657, |
| 848 |
Iop_ExtractV128 = 82658, |
|
848 |
Iop_ExtractV128 = 82658, |
| 849 |
Iop_Reverse16_8x16 = 82659, |
|
849 |
Iop_Reverse16_8x16 = 82659, |
| 850 |
Iop_Reverse32_8x16 = 82660, |
|
850 |
Iop_Reverse32_8x16 = 82660, |
| 851 |
Iop_Reverse32_16x8 = 82661, |
|
851 |
Iop_Reverse32_16x8 = 82661, |
| 852 |
Iop_Reverse64_8x16 = 82662, |
|
852 |
Iop_Reverse64_8x16 = 82662, |
| 853 |
Iop_Reverse64_16x8 = 82663, |
|
853 |
Iop_Reverse64_16x8 = 82663, |
| 854 |
Iop_Reverse64_32x4 = 82664, |
|
854 |
Iop_Reverse64_32x4 = 82664, |
| 855 |
Iop_Perm8x16 = 82665, |
|
855 |
Iop_Perm8x16 = 82665, |
| 856 |
Iop_Recip32x4 = 82666, |
|
856 |
Iop_Recip32x4 = 82666, |
| 857 |
Iop_Rsqrte32x4 = 82667 |
|
857 |
Iop_Rsqrte32x4 = 82667 |
| 858 |
} ; |
|
858 |
} ; |
| 859 |
typedef enum __anonenum_IROp_10 IROp; |
|
859 |
typedef enum __anonenum_IROp_10 IROp; |
| 860 |
enum __anonenum_IRRoundingMode_11 { |
|
860 |
enum __anonenum_IRRoundingMode_11 { |
| 861 |
Irrm_NEAREST = 0, |
|
861 |
Irrm_NEAREST = 0, |
| 862 |
Irrm_NegINF = 1, |
|
862 |
Irrm_NegINF = 1, |
| 863 |
Irrm_PosINF = 2, |
|
863 |
Irrm_PosINF = 2, |
| 864 |
Irrm_ZERO = 3 |
|
864 |
Irrm_ZERO = 3 |
| 865 |
} ; |
|
865 |
} ; |
| 866 |
typedef enum __anonenum_IRRoundingMode_11 IRRoundingMode; |
|
866 |
typedef enum __anonenum_IRRoundingMode_11 IRRoundingMode; |
| 867 |
enum __anonenum_IRCmpF64Result_12 { |
|
867 |
enum __anonenum_IRCmpF64Result_12 { |
| 868 |
Ircr_UN = 69, |
|
868 |
Ircr_UN = 69, |
| 869 |
Ircr_LT = 1, |
|
869 |
Ircr_LT = 1, |
| 870 |
Ircr_GT = 0, |
|
870 |
Ircr_GT = 0, |
| 871 |
Ircr_EQ = 64 |
|
871 |
Ircr_EQ = 64 |
| 872 |
} ; |
|
872 |
} ; |
| 873 |
typedef enum __anonenum_IRCmpF64Result_12 IRCmpF64Result; |
|
873 |
typedef enum __anonenum_IRCmpF64Result_12 IRCmpF64Result; |
| 874 |
typedef IRCmpF64Result IRCmpF32Result; |
|
874 |
typedef IRCmpF64Result IRCmpF32Result; |
| 875 |
typedef IRCmpF64Result IRCmpF128Result; |
|
875 |
typedef IRCmpF64Result IRCmpF128Result; |
| 876 |
enum __anonenum_IRExprTag_13 { |
|
876 |
enum __anonenum_IRExprTag_13 { |
| 877 |
Iex_Binder = 86016, |
|
877 |
Iex_Binder = 86016, |
| 878 |
Iex_Get = 86017, |
|
878 |
Iex_Get = 86017, |
| 879 |
Iex_GetI = 86018, |
|
879 |
Iex_GetI = 86018, |
| 880 |
Iex_RdTmp = 86019, |
|
880 |
Iex_RdTmp = 86019, |
| 881 |
Iex_Qop = 86020, |
|
881 |
Iex_Qop = 86020, |
| 882 |
Iex_Triop = 86021, |
|
882 |
Iex_Triop = 86021, |
| 883 |
Iex_Binop = 86022, |
|
883 |
Iex_Binop = 86022, |
| 884 |
Iex_Unop = 86023, |
|
884 |
Iex_Unop = 86023, |
| 885 |
Iex_Load = 86024, |
|
885 |
Iex_Load = 86024, |
| 886 |
Iex_Const = 86025, |
|
886 |
Iex_Const = 86025, |
| 887 |
Iex_Mux0X = 86026, |
|
887 |
Iex_Mux0X = 86026, |
| 888 |
Iex_CCall = 86027 |
|
888 |
Iex_CCall = 86027 |
| 889 |
} ; |
|
889 |
} ; |
| 890 |
typedef enum __anonenum_IRExprTag_13 IRExprTag; |
|
890 |
typedef enum __anonenum_IRExprTag_13 IRExprTag; |
| 891 |
struct _IRExpr; |
|
891 |
struct _IRExpr; |
| 892 |
typedef struct _IRExpr IRExpr; |
|
892 |
typedef struct _IRExpr IRExpr; |
| 893 |
struct __anonstruct_Binder_15 { |
|
893 |
struct __anonstruct_Binder_15 { |
| 894 |
Int binder ; |
|
894 |
Int binder ; |
| 895 |
}; |
|
895 |
}; |
| 896 |
struct __anonstruct_Get_16 { |
|
896 |
struct __anonstruct_Get_16 { |
| 897 |
Int offset ; |
|
897 |
Int offset ; |
| 898 |
IRType ty ; |
|
898 |
IRType ty ; |
| 899 |
}; |
|
899 |
}; |
| 900 |
struct __anonstruct_GetI_17 { |
|
900 |
struct __anonstruct_GetI_17 { |
| 901 |
IRRegArray *descr ; |
|
901 |
IRRegArray *descr ; |
| 902 |
IRExpr *ix ; |
|
902 |
IRExpr *ix ; |
| 903 |
Int bias ; |
|
903 |
Int bias ; |
| 904 |
}; |
|
904 |
}; |
| 905 |
struct __anonstruct_RdTmp_18 { |
|
905 |
struct __anonstruct_RdTmp_18 { |
| 906 |
IRTemp tmp ; |
|
906 |
IRTemp tmp ; |
| 907 |
}; |
|
907 |
}; |
| 908 |
struct __anonstruct_Qop_19 { |
|
908 |
struct __anonstruct_Qop_19 { |
| 909 |
IROp op ; |
|
909 |
IROp op ; |
| 910 |
IRExpr *arg1 ; |
|
910 |
IRExpr *arg1 ; |
| 911 |
IRExpr *arg2 ; |
|
911 |
IRExpr *arg2 ; |
| 912 |
IRExpr *arg3 ; |
|
912 |
IRExpr *arg3 ; |
| 913 |
IRExpr *arg4 ; |
|
913 |
IRExpr *arg4 ; |
| 914 |
}; |
|
914 |
}; |
| 915 |
struct __anonstruct_Triop_20 { |
|
915 |
struct __anonstruct_Triop_20 { |
| 916 |
IROp op ; |
|
916 |
IROp op ; |
| 917 |
IRExpr *arg1 ; |
|
917 |
IRExpr *arg1 ; |
| 918 |
IRExpr *arg2 ; |
|
918 |
IRExpr *arg2 ; |
| 919 |
IRExpr *arg3 ; |
|
919 |
IRExpr *arg3 ; |
| 920 |
}; |
|
920 |
}; |
| 921 |
struct __anonstruct_Binop_21 { |
|
921 |
struct __anonstruct_Binop_21 { |
| 922 |
IROp op ; |
|
922 |
IROp op ; |
| 923 |
IRExpr *arg1 ; |
|
923 |
IRExpr *arg1 ; |
| 924 |
IRExpr *arg2 ; |
|
924 |
IRExpr *arg2 ; |
| 925 |
}; |
|
925 |
}; |
| 926 |
struct __anonstruct_Unop_22 { |
|
926 |
struct __anonstruct_Unop_22 { |
| 927 |
IROp op ; |
|
927 |
IROp op ; |
| 928 |
IRExpr *arg ; |
|
928 |
IRExpr *arg ; |
| 929 |
}; |
|
929 |
}; |
| 930 |
struct __anonstruct_Load_23 { |
|
930 |
struct __anonstruct_Load_23 { |
| 931 |
IREndness end ; |
|
931 |
IREndness end ; |
| 932 |
IRType ty ; |
|
932 |
IRType ty ; |
| 933 |
IRExpr *addr ; |
|
933 |
IRExpr *addr ; |
| 934 |
}; |
|
934 |
}; |
| 935 |
struct __anonstruct_Const_24 { |
|
935 |
struct __anonstruct_Const_24 { |
| 936 |
IRConst *con ; |
|
936 |
IRConst *con ; |
| 937 |
}; |
|
937 |
}; |
| 938 |
struct __anonstruct_CCall_25 { |
|
938 |
struct __anonstruct_CCall_25 { |
| 939 |
IRCallee *cee ; |
|
939 |
IRCallee *cee ; |
| 940 |
IRType retty ; |
|
940 |
IRType retty ; |
| 941 |
IRExpr **args ; |
|
941 |
IRExpr **args ; |
| 942 |
}; |
|
942 |
}; |
| 943 |
struct __anonstruct_Mux0X_26 { |
|
943 |
struct __anonstruct_Mux0X_26 { |
| 944 |
IRExpr *cond ; |
|
944 |
IRExpr *cond ; |
| 945 |
IRExpr *expr0 ; |
|
945 |
IRExpr *expr0 ; |
| 946 |
IRExpr *exprX ; |
|
946 |
IRExpr *exprX ; |
| 947 |
}; |
|
947 |
}; |
| 948 |
union __anonunion_Iex_14 { |
|
948 |
union __anonunion_Iex_14 { |
| 949 |
struct __anonstruct_Binder_15 Binder ; |
|
949 |
struct __anonstruct_Binder_15 Binder ; |
| 950 |
struct __anonstruct_Get_16 Get ; |
|
950 |
struct __anonstruct_Get_16 Get ; |
| 951 |
struct __anonstruct_GetI_17 GetI ; |
|
951 |
struct __anonstruct_GetI_17 GetI ; |
| 952 |
struct __anonstruct_RdTmp_18 RdTmp ; |
|
952 |
struct __anonstruct_RdTmp_18 RdTmp ; |
| 953 |
struct __anonstruct_Qop_19 Qop ; |
|
953 |
struct __anonstruct_Qop_19 Qop ; |
| 954 |
struct __anonstruct_Triop_20 Triop ; |
|
954 |
struct __anonstruct_Triop_20 Triop ; |
| 955 |
struct __anonstruct_Binop_21 Binop ; |
|
955 |
struct __anonstruct_Binop_21 Binop ; |
| 956 |
struct __anonstruct_Unop_22 Unop ; |
|
956 |
struct __anonstruct_Unop_22 Unop ; |
| 957 |
struct __anonstruct_Load_23 Load ; |
|
957 |
struct __anonstruct_Load_23 Load ; |
| 958 |
struct __anonstruct_Const_24 Const ; |
|
958 |
struct __anonstruct_Const_24 Const ; |
| 959 |
struct __anonstruct_CCall_25 CCall ; |
|
959 |
struct __anonstruct_CCall_25 CCall ; |
| 960 |
struct __anonstruct_Mux0X_26 Mux0X ; |
|
960 |
struct __anonstruct_Mux0X_26 Mux0X ; |
| 961 |
}; |
|
961 |
}; |
| 962 |
struct _IRExpr { |
|
962 |
struct _IRExpr { |
| 963 |
IRExprTag tag ; |
|
963 |
IRExprTag tag ; |
| 964 |
union __anonunion_Iex_14 Iex ; |
|
964 |
union __anonunion_Iex_14 Iex ; |
| 965 |
}; |
|
965 |
}; |
| 966 |
enum __anonenum_IRJumpKind_27 { |
|
966 |
enum __anonenum_IRJumpKind_27 { |
| 967 |
Ijk_Boring = 90112, |
|
967 |
Ijk_Boring = 90112, |
| 968 |
Ijk_Call = 90113, |
|
968 |
Ijk_Call = 90113, |
| 969 |
Ijk_Ret = 90114, |
|
969 |
Ijk_Ret = 90114, |
| 970 |
Ijk_ClientReq = 90115, |
|
970 |
Ijk_ClientReq = 90115, |
| 971 |
Ijk_Yield = 90116, |
|
971 |
Ijk_Yield = 90116, |
| 972 |
Ijk_EmWarn = 90117, |
|
972 |
Ijk_EmWarn = 90117, |
| 973 |
Ijk_EmFail = 90118, |
|
973 |
Ijk_EmFail = 90118, |
| 974 |
Ijk_NoDecode = 90119, |
|
974 |
Ijk_NoDecode = 90119, |
| 975 |
Ijk_MapFail = 90120, |
|
975 |
Ijk_MapFail = 90120, |
| 976 |
Ijk_TInval = 90121, |
|
976 |
Ijk_TInval = 90121, |
| 977 |
Ijk_NoRedir = 90122, |
|
977 |
Ijk_NoRedir = 90122, |
| 978 |
Ijk_SigTRAP = 90123, |
|
978 |
Ijk_SigTRAP = 90123, |
| 979 |
Ijk_SigSEGV = 90124, |
|
979 |
Ijk_SigSEGV = 90124, |
| 980 |
Ijk_SigBUS = 90125, |
|
980 |
Ijk_SigBUS = 90125, |
| 981 |
Ijk_Sys_syscall = 90126, |
|
981 |
Ijk_Sys_syscall = 90126, |
| 982 |
Ijk_Sys_int32 = 90127, |
|
982 |
Ijk_Sys_int32 = 90127, |
| 983 |
Ijk_Sys_int128 = 90128, |
|
983 |
Ijk_Sys_int128 = 90128, |
| 984 |
Ijk_Sys_int129 = 90129, |
|
984 |
Ijk_Sys_int129 = 90129, |
| 985 |
Ijk_Sys_int130 = 90130, |
|
985 |
Ijk_Sys_int130 = 90130, |
| 986 |
Ijk_Sys_sysenter = 90131 |
|
986 |
Ijk_Sys_sysenter = 90131 |
| 987 |
} ; |
|
987 |
} ; |
| 988 |
typedef enum __anonenum_IRJumpKind_27 IRJumpKind; |
|
988 |
typedef enum __anonenum_IRJumpKind_27 IRJumpKind; |
| 989 |
enum __anonenum_IREffect_28 { |
|
989 |
enum __anonenum_IREffect_28 { |
| 990 |
Ifx_None = 94208, |
|
990 |
Ifx_None = 94208, |
| 991 |
Ifx_Read = 94209, |
|
991 |
Ifx_Read = 94209, |
| 992 |
Ifx_Write = 94210, |
|
992 |
Ifx_Write = 94210, |
| 993 |
Ifx_Modify = 94211 |
|
993 |
Ifx_Modify = 94211 |
| 994 |
} ; |
|
994 |
} ; |
| 995 |
typedef enum __anonenum_IREffect_28 IREffect; |
|
995 |
typedef enum __anonenum_IREffect_28 IREffect; |
| 996 |
struct __anonstruct_fxState_30 { |
|
996 |
struct __anonstruct_fxState_30 { |
| 997 |
IREffect fx ; |
|
997 |
IREffect fx ; |
| 998 |
Int offset ; |
|
998 |
Int offset ; |
| 999 |
Int size ; |
|
999 |
Int size ; |
| 1000 |
}; |
|
1000 |
}; |
| 1001 |
struct __anonstruct_IRDirty_29 { |
|
1001 |
struct __anonstruct_IRDirty_29 { |
| 1002 |
IRCallee *cee ; |
|
1002 |
IRCallee *cee ; |
| 1003 |
IRExpr *guard ; |
|
1003 |
IRExpr *guard ; |
| 1004 |
IRExpr **args ; |
|
1004 |
IRExpr **args ; |
| 1005 |
IRTemp tmp ; |
|
1005 |
IRTemp tmp ; |
| 1006 |
IREffect mFx ; |
|
1006 |
IREffect mFx ; |
| 1007 |
IRExpr *mAddr ; |
|
1007 |
IRExpr *mAddr ; |
| 1008 |
Int mSize ; |
|
1008 |
Int mSize ; |
| 1009 |
Bool needsBBP ; |
|
1009 |
Bool needsBBP ; |
| 1010 |
Int nFxState ; |
|
1010 |
Int nFxState ; |
| 1011 |
struct __anonstruct_fxState_30 fxState[7] ; |
|
1011 |
struct __anonstruct_fxState_30 fxState[7] ; |
| 1012 |
}; |
|
1012 |
}; |
| 1013 |
typedef struct __anonstruct_IRDirty_29 IRDirty; |
|
1013 |
typedef struct __anonstruct_IRDirty_29 IRDirty; |
| 1014 |
enum __anonenum_IRMBusEvent_31 { |
|
1014 |
enum __anonenum_IRMBusEvent_31 { |
| 1015 |
Imbe_Fence = 98304 |
|
1015 |
Imbe_Fence = 98304 |
| 1016 |
} ; |
|
1016 |
} ; |
| 1017 |
typedef enum __anonenum_IRMBusEvent_31 IRMBusEvent; |
|
1017 |
typedef enum __anonenum_IRMBusEvent_31 IRMBusEvent; |
| 1018 |
struct __anonstruct_IRCAS_32 { |
|
1018 |
struct __anonstruct_IRCAS_32 { |
| 1019 |
IRTemp oldHi ; |
|
1019 |
IRTemp oldHi ; |
| 1020 |
IRTemp oldLo ; |
|
1020 |
IRTemp oldLo ; |
| 1021 |
IREndness end ; |
|
1021 |
IREndness end ; |
| 1022 |
IRExpr *addr ; |
|
1022 |
IRExpr *addr ; |
| 1023 |
IRExpr *expdHi ; |
|
1023 |
IRExpr *expdHi ; |
| 1024 |
IRExpr *expdLo ; |
|
1024 |
IRExpr *expdLo ; |
| 1025 |
IRExpr *dataHi ; |
|
1025 |
IRExpr *dataHi ; |
| 1026 |
IRExpr *dataLo ; |
|
1026 |
IRExpr *dataLo ; |
| 1027 |
}; |
|
1027 |
}; |
| 1028 |
typedef struct __anonstruct_IRCAS_32 IRCAS; |
|
1028 |
typedef struct __anonstruct_IRCAS_32 IRCAS; |
| 1029 |
enum __anonenum_IRStmtTag_33 { |
|
1029 |
enum __anonenum_IRStmtTag_33 { |
| 1030 |
Ist_NoOp = 102400, |
|
1030 |
Ist_NoOp = 102400, |
| 1031 |
Ist_IMark = 102401, |
|
1031 |
Ist_IMark = 102401, |
| 1032 |
Ist_AbiHint = 102402, |
|
1032 |
Ist_AbiHint = 102402, |
| 1033 |
Ist_Put = 102403, |
|
1033 |
Ist_Put = 102403, |
| 1034 |
Ist_PutI = 102404, |
|
1034 |
Ist_PutI = 102404, |
| 1035 |
Ist_WrTmp = 102405, |
|
1035 |
Ist_WrTmp = 102405, |
| 1036 |
Ist_Store = 102406, |
|
1036 |
Ist_Store = 102406, |
| 1037 |
Ist_CAS = 102407, |
|
1037 |
Ist_CAS = 102407, |
| 1038 |
Ist_LLSC = 102408, |
|
1038 |
Ist_LLSC = 102408, |
| 1039 |
Ist_Dirty = 102409, |
|
1039 |
Ist_Dirty = 102409, |
| 1040 |
Ist_MBE = 102410, |
|
1040 |
Ist_MBE = 102410, |
| 1041 |
Ist_Exit = 102411 |
|
1041 |
Ist_Exit = 102411 |
| 1042 |
} ; |
|
1042 |
} ; |
| 1043 |
typedef enum __anonenum_IRStmtTag_33 IRStmtTag; |
|
1043 |
typedef enum __anonenum_IRStmtTag_33 IRStmtTag; |
| 1044 |
struct __anonstruct_NoOp_35 { |
|
1044 |
struct __anonstruct_NoOp_35 { |
| 1045 |
|
|
1045 |
|
| 1046 |
}; |
|
1046 |
}; |
| 1047 |
struct __anonstruct_IMark_36 { |
|
1047 |
struct __anonstruct_IMark_36 { |
| 1048 |
Addr64 addr ; |
|
1048 |
Addr64 addr ; |
| 1049 |
Int len ; |
|
1049 |
Int len ; |
| 1050 |
UChar delta ; |
|
1050 |
UChar delta ; |
| 1051 |
}; |
|
1051 |
}; |
| 1052 |
struct __anonstruct_AbiHint_37 { |
|
1052 |
struct __anonstruct_AbiHint_37 { |
| 1053 |
IRExpr *base ; |
|
1053 |
IRExpr *base ; |
| 1054 |
Int len ; |
|
1054 |
Int len ; |
| 1055 |
IRExpr *nia ; |
|
1055 |
IRExpr *nia ; |
| 1056 |
}; |
|
1056 |
}; |
| 1057 |
struct __anonstruct_Put_38 { |
|
1057 |
struct __anonstruct_Put_38 { |
| 1058 |
Int offset ; |
|
1058 |
Int offset ; |
| 1059 |
IRExpr *data ; |
|
1059 |
IRExpr *data ; |
| 1060 |
}; |
|
1060 |
}; |
| 1061 |
struct __anonstruct_PutI_39 { |
|
1061 |
struct __anonstruct_PutI_39 { |
| 1062 |
IRRegArray *descr ; |
|
1062 |
IRRegArray *descr ; |
| 1063 |
IRExpr *ix ; |
|
1063 |
IRExpr *ix ; |
| 1064 |
Int bias ; |
|
1064 |
Int bias ; |
| 1065 |
IRExpr *data ; |
|
1065 |
IRExpr *data ; |
| 1066 |
}; |
|
1066 |
}; |
| 1067 |
struct __anonstruct_WrTmp_40 { |
|
1067 |
struct __anonstruct_WrTmp_40 { |
| 1068 |
IRTemp tmp ; |
|
1068 |
IRTemp tmp ; |
| 1069 |
IRExpr *data ; |
|
1069 |
IRExpr *data ; |
| 1070 |
}; |
|
1070 |
}; |
| 1071 |
struct __anonstruct_Store_41 { |
|
1071 |
struct __anonstruct_Store_41 { |
| 1072 |
IREndness end ; |
|
1072 |
IREndness end ; |
| 1073 |
IRExpr *addr ; |
|
1073 |
IRExpr *addr ; |
| 1074 |
IRExpr *data ; |
|
1074 |
IRExpr *data ; |
| 1075 |
}; |
|
1075 |
}; |
| 1076 |
struct __anonstruct_CAS_42 { |
|
1076 |
struct __anonstruct_CAS_42 { |
| 1077 |
IRCAS *details ; |
|
1077 |
IRCAS *details ; |
| 1078 |
}; |
|
1078 |
}; |
| 1079 |
struct __anonstruct_LLSC_43 { |
|
1079 |
struct __anonstruct_LLSC_43 { |
| 1080 |
IREndness end ; |
|
1080 |
IREndness end ; |
| 1081 |
IRTemp result ; |
|
1081 |
IRTemp result ; |
| 1082 |
IRExpr *addr ; |
|
1082 |
IRExpr *addr ; |
| 1083 |
IRExpr *storedata ; |
|
1083 |
IRExpr *storedata ; |
| 1084 |
}; |
|
1084 |
}; |
| 1085 |
struct __anonstruct_Dirty_44 { |
|
1085 |
struct __anonstruct_Dirty_44 { |
| 1086 |
IRDirty *details ; |
|
1086 |
IRDirty *details ; |
| 1087 |
}; |
|
1087 |
}; |
| 1088 |
struct __anonstruct_MBE_45 { |
|
1088 |
struct __anonstruct_MBE_45 { |
| 1089 |
IRMBusEvent event ; |
|
1089 |
IRMBusEvent event ; |
| 1090 |
}; |
|
1090 |
}; |
| 1091 |
struct __anonstruct_Exit_46 { |
|
1091 |
struct __anonstruct_Exit_46 { |
| 1092 |
IRExpr *guard ; |
|
1092 |
IRExpr *guard ; |
| 1093 |
IRJumpKind jk ; |
|
1093 |
IRJumpKind jk ; |
| 1094 |
IRConst *dst ; |
|
1094 |
IRConst *dst ; |
| 1095 |
}; |
|
1095 |
}; |
| 1096 |
union __anonunion_Ist_34 { |
|
1096 |
union __anonunion_Ist_34 { |
| 1097 |
struct __anonstruct_NoOp_35 NoOp ; |
|
1097 |
struct __anonstruct_NoOp_35 NoOp ; |
| 1098 |
struct __anonstruct_IMark_36 IMark ; |
|
1098 |
struct __anonstruct_IMark_36 IMark ; |
| 1099 |
struct __anonstruct_AbiHint_37 AbiHint ; |
|
1099 |
struct __anonstruct_AbiHint_37 AbiHint ; |
| 1100 |
struct __anonstruct_Put_38 Put ; |
|
1100 |
struct __anonstruct_Put_38 Put ; |
| 1101 |
struct __anonstruct_PutI_39 PutI ; |
|
1101 |
struct __anonstruct_PutI_39 PutI ; |
| 1102 |
struct __anonstruct_WrTmp_40 WrTmp ; |
|
1102 |
struct __anonstruct_WrTmp_40 WrTmp ; |
| 1103 |
struct __anonstruct_Store_41 Store ; |
|
1103 |
struct __anonstruct_Store_41 Store ; |
| 1104 |
struct __anonstruct_CAS_42 CAS ; |
|
1104 |
struct __anonstruct_CAS_42 CAS ; |
| 1105 |
struct __anonstruct_LLSC_43 LLSC ; |
|
1105 |
struct __anonstruct_LLSC_43 LLSC ; |
| 1106 |
struct __anonstruct_Dirty_44 Dirty ; |
|
1106 |
struct __anonstruct_Dirty_44 Dirty ; |
| 1107 |
struct __anonstruct_MBE_45 MBE ; |
|
1107 |
struct __anonstruct_MBE_45 MBE ; |
| 1108 |
struct __anonstruct_Exit_46 Exit ; |
|
1108 |
struct __anonstruct_Exit_46 Exit ; |
| 1109 |
}; |
|
1109 |
}; |
| 1110 |
struct _IRStmt { |
|
1110 |
struct _IRStmt { |
| 1111 |
IRStmtTag tag ; |
|
1111 |
IRStmtTag tag ; |
| 1112 |
union __anonunion_Ist_34 Ist ; |
|
1112 |
union __anonunion_Ist_34 Ist ; |
| 1113 |
}; |
|
1113 |
}; |
| 1114 |
typedef struct _IRStmt IRStmt; |
|
1114 |
typedef struct _IRStmt IRStmt; |
| 1115 |
struct __anonstruct_IRTypeEnv_47 { |
|
1115 |
struct __anonstruct_IRTypeEnv_47 { |
| 1116 |
IRType *types ; |
|
1116 |
IRType *types ; |
| 1117 |
Int types_size ; |
|
1117 |
Int types_size ; |
| 1118 |
Int types_used ; |
|
1118 |
Int types_used ; |
| 1119 |
}; |
|
1119 |
}; |
| 1120 |
typedef struct __anonstruct_IRTypeEnv_47 IRTypeEnv; |
|
1120 |
typedef struct __anonstruct_IRTypeEnv_47 IRTypeEnv; |
| 1121 |
struct __anonstruct_IRSB_48 { |
|
1121 |
struct __anonstruct_IRSB_48 { |
| 1122 |
IRTypeEnv *tyenv ; |
|
1122 |
IRTypeEnv *tyenv ; |
| 1123 |
IRStmt **stmts ; |
|
1123 |
IRStmt **stmts ; |
| 1124 |
Int stmts_size ; |
|
1124 |
Int stmts_size ; |
| 1125 |
Int stmts_used ; |
|
1125 |
Int stmts_used ; |
| 1126 |
IRExpr *next ; |
|
1126 |
IRExpr *next ; |
| 1127 |
IRJumpKind jumpkind ; |
|
1127 |
IRJumpKind jumpkind ; |
| 1128 |
}; |
|
1128 |
}; |
| 1129 |
typedef struct __anonstruct_IRSB_48 IRSB; |
|
1129 |
typedef struct __anonstruct_IRSB_48 IRSB; |
| 1130 |
enum __anonenum_VexArch_49 { |
|
1130 |
enum __anonenum_VexArch_49 { |
| 1131 |
VexArch_INVALID = 0, |
|
1131 |
VexArch_INVALID = 0, |
| 1132 |
VexArchX86 = 1, |
|
1132 |
VexArchX86 = 1, |
| 1133 |
VexArchAMD64 = 2, |
|
1133 |
VexArchAMD64 = 2, |
| 1134 |
VexArchARM = 3, |
|
1134 |
VexArchARM = 3, |
| 1135 |
VexArchPPC32 = 4, |
|
1135 |
VexArchPPC32 = 4, |
| 1136 |
VexArchPPC64 = 5, |
|
1136 |
VexArchPPC64 = 5, |
| 1137 |
VexArchS390X = 6 |
|
1137 |
VexArchS390X = 6 |
| 1138 |
} ; |
|
1138 |
} ; |
| 1139 |
typedef enum __anonenum_VexArch_49 VexArch; |
|
1139 |
typedef enum __anonenum_VexArch_49 VexArch; |
| 1140 |
struct __anonstruct_VexArchInfo_50 { |
|
1140 |
struct __anonstruct_VexArchInfo_50 { |
| 1141 |
UInt hwcaps ; |
|
1141 |
UInt hwcaps ; |
| 1142 |
Int ppc_cache_line_szB ; |
|
1142 |
Int ppc_cache_line_szB ; |
| 1143 |
UInt ppc_dcbz_szB ; |
|
1143 |
UInt ppc_dcbz_szB ; |
| 1144 |
UInt ppc_dcbzl_szB ; |
|
1144 |
UInt ppc_dcbzl_szB ; |
| 1145 |
}; |
|
1145 |
}; |
| 1146 |
typedef struct __anonstruct_VexArchInfo_50 VexArchInfo; |
|
1146 |
typedef struct __anonstruct_VexArchInfo_50 VexArchInfo; |
| 1147 |
struct __anonstruct_VexAbiInfo_51 { |
|
1147 |
struct __anonstruct_VexAbiInfo_51 { |
| 1148 |
Int guest_stack_redzone_size ; |
|
1148 |
Int guest_stack_redzone_size ; |
| 1149 |
Bool guest_amd64_assume_fs_is_zero ; |
|
1149 |
Bool guest_amd64_assume_fs_is_zero ; |
| 1150 |
Bool guest_amd64_assume_gs_is_0x60 ; |
|
1150 |
Bool guest_amd64_assume_gs_is_0x60 ; |
| 1151 |
Bool guest_ppc_zap_RZ_at_blr ; |
|
1151 |
Bool guest_ppc_zap_RZ_at_blr ; |
| 1152 |
Bool (*guest_ppc_zap_RZ_at_bl)(Addr64 ) ; |
|
1152 |
Bool (*guest_ppc_zap_RZ_at_bl)(Addr64 ) ; |
| 1153 |
Bool guest_ppc_sc_continues_at_LR ; |
|
1153 |
Bool guest_ppc_sc_continues_at_LR ; |
| 1154 |
Bool host_ppc_calls_use_fndescrs ; |
|
1154 |
Bool host_ppc_calls_use_fndescrs ; |
| 1155 |
Bool host_ppc32_regalign_int64_args ; |
|
1155 |
Bool host_ppc32_regalign_int64_args ; |
| 1156 |
}; |
|
1156 |
}; |
| 1157 |
typedef struct __anonstruct_VexAbiInfo_51 VexAbiInfo; |
|
1157 |
typedef struct __anonstruct_VexAbiInfo_51 VexAbiInfo; |
| 1158 |
struct __anonstruct_VexControl_52 { |
|
1158 |
struct __anonstruct_VexControl_52 { |
| 1159 |
Int iropt_verbosity ; |
|
1159 |
Int iropt_verbosity ; |
| 1160 |
Int iropt_level ; |
|
1160 |
Int iropt_level ; |
| 1161 |
Bool iropt_precise_memory_exns ; |
|
1161 |
Bool iropt_precise_memory_exns ; |
| 1162 |
Int iropt_unroll_thresh ; |
|
1162 |
Int iropt_unroll_thresh ; |
| 1163 |
Int guest_max_insns ; |
|
1163 |
Int guest_max_insns ; |
| 1164 |
Int guest_chase_thresh ; |
|
1164 |
Int guest_chase_thresh ; |
| 1165 |
Bool guest_chase_cond ; |
|
1165 |
Bool guest_chase_cond ; |
| 1166 |
}; |
|
1166 |
}; |
| 1167 |
typedef struct __anonstruct_VexControl_52 VexControl; |
|
1167 |
typedef struct __anonstruct_VexControl_52 VexControl; |
| 1168 |
struct __anonstruct_alwaysDefd_54 { |
|
1168 |
struct __anonstruct_alwaysDefd_54 { |
| 1169 |
Int offset ; |
|
1169 |
Int offset ; |
| 1170 |
Int size ; |
|
1170 |
Int size ; |
| 1171 |
}; |
|
1171 |
}; |
| 1172 |
struct __anonstruct_VexGuestLayout_53 { |
|
1172 |
struct __anonstruct_VexGuestLayout_53 { |
| 1173 |
Int total_sizeB ; |
|
1173 |
Int total_sizeB ; |
| 1174 |
Int offset_SP ; |
|
1174 |
Int offset_SP ; |
| 1175 |
Int sizeof_SP ; |
|
1175 |
Int sizeof_SP ; |
| 1176 |
Int offset_FP ; |
|
1176 |
Int offset_FP ; |
| 1177 |
Int sizeof_FP ; |
|
1177 |
Int sizeof_FP ; |
| 1178 |
Int offset_IP ; |
|
1178 |
Int offset_IP ; |
| 1179 |
Int sizeof_IP ; |
|
1179 |
Int sizeof_IP ; |
| 1180 |
Int n_alwaysDefd ; |
|
1180 |
Int n_alwaysDefd ; |
| 1181 |
struct __anonstruct_alwaysDefd_54 alwaysDefd[24] ; |
|
1181 |
struct __anonstruct_alwaysDefd_54 alwaysDefd[24] ; |
| 1182 |
}; |
|
1182 |
}; |
| 1183 |
typedef struct __anonstruct_VexGuestLayout_53 VexGuestLayout; |
|
1183 |
typedef struct __anonstruct_VexGuestLayout_53 VexGuestLayout; |
| 1184 |
enum __anonenum_status_56 { |
|
1184 |
enum __anonenum_status_56 { |
| 1185 |
VexTransOK = 0, |
|
1185 |
VexTransOK = 0, |
| 1186 |
VexTransAccessFail = 1, |
|
1186 |
VexTransAccessFail = 1, |
| 1187 |
VexTransOutputFull = 2 |
|
1187 |
VexTransOutputFull = 2 |
| 1188 |
} ; |
|
1188 |
} ; |
| 1189 |
struct __anonstruct_VexTranslateResult_55 { |
|
1189 |
struct __anonstruct_VexTranslateResult_55 { |
| 1190 |
enum __anonenum_status_56 status ; |
|
1190 |
enum __anonenum_status_56 status ; |
| 1191 |
UInt n_sc_extents ; |
|
1191 |
UInt n_sc_extents ; |
| 1192 |
}; |
|
1192 |
}; |
| 1193 |
typedef struct __anonstruct_VexTranslateResult_55 VexTranslateResult; |
|
1193 |
typedef struct __anonstruct_VexTranslateResult_55 VexTranslateResult; |
| 1194 |
struct __anonstruct_VexGuestExtents_57 { |
|
1194 |
struct __anonstruct_VexGuestExtents_57 { |
| 1195 |
Addr64 base[3] ; |
|
1195 |
Addr64 base[3] ; |
| 1196 |
UShort len[3] ; |
|
1196 |
UShort len[3] ; |
| 1197 |
UShort n_used ; |
|
1197 |
UShort n_used ; |
| 1198 |
}; |
|
1198 |
}; |
| 1199 |
typedef struct __anonstruct_VexGuestExtents_57 VexGuestExtents; |
|
1199 |
typedef struct __anonstruct_VexGuestExtents_57 VexGuestExtents; |
| 1200 |
struct __anonstruct_VexTranslateArgs_58 { |
|
1200 |
struct __anonstruct_VexTranslateArgs_58 { |
| 1201 |
VexArch arch_guest ; |
|
1201 |
VexArch arch_guest ; |
| 1202 |
VexArchInfo archinfo_guest ; |
|
1202 |
VexArchInfo archinfo_guest ; |
| 1203 |
VexArch arch_host ; |
|
1203 |
VexArch arch_host ; |
| 1204 |
VexArchInfo archinfo_host ; |
|
1204 |
VexArchInfo archinfo_host ; |
| 1205 |
VexAbiInfo abiinfo_both ; |
|
1205 |
VexAbiInfo abiinfo_both ; |
| 1206 |
void *callback_opaque ; |
|
1206 |
void *callback_opaque ; |
| 1207 |
UChar *guest_bytes ; |
|
1207 |
UChar *guest_bytes ; |
| 1208 |
Addr64 guest_bytes_addr ; |
|
1208 |
Addr64 guest_bytes_addr ; |
| 1209 |
Bool (*chase_into_ok)(void * , Addr64 ) ; |
|
1209 |
Bool (*chase_into_ok)(void * , Addr64 ) ; |
| 1210 |
VexGuestExtents *guest_extents ; |
|
1210 |
VexGuestExtents *guest_extents ; |
| 1211 |
UChar *host_bytes ; |
|
1211 |
UChar *host_bytes ; |
| 1212 |
Int host_bytes_size ; |
|
1212 |
Int host_bytes_size ; |
| 1213 |
Int *host_bytes_used ; |
|
1213 |
Int *host_bytes_used ; |
| 1214 |
IRSB *(*instrument1)(void * , IRSB * , VexGuestLayout * , VexGuestExtents * , |
|
1214 |
IRSB *(*instrument1)(void * , IRSB * , VexGuestLayout * , VexGuestExtents * , |
| 1215 |
IRType gWordTy , IRType hWordTy ) ; |
|
1215 |
IRType gWordTy , IRType hWordTy ) ; |
| 1216 |
IRSB *(*instrument2)(void * , IRSB * , VexGuestLayout * , VexGuestExtents * , |
|
1216 |
IRSB *(*instrument2)(void * , IRSB * , VexGuestLayout * , VexGuestExtents * , |
| 1217 |
IRType gWordTy , IRType hWordTy ) ; |
|
1217 |
IRType gWordTy , IRType hWordTy ) ; |
| 1218 |
IRSB *(*finaltidy)(IRSB * ) ; |
|
1218 |
IRSB *(*finaltidy)(IRSB * ) ; |
| 1219 |
UInt (*needs_self_check)(void * , VexGuestExtents * ) ; |
|
1219 |
UInt (*needs_self_check)(void * , VexGuestExtents * ) ; |
| 1220 |
Bool (*preamble_function)(void * , IRSB * ) ; |
|
1220 |
Bool (*preamble_function)(void * , IRSB * ) ; |
| 1221 |
Int traceflags ; |
|
1221 |
Int traceflags ; |
| 1222 |
void *dispatch_unassisted ; |
|
1222 |
void *dispatch_unassisted ; |
| 1223 |
void *dispatch_assisted ; |
|
1223 |
void *dispatch_assisted ; |
| 1224 |
}; |
|
1224 |
}; |
| 1225 |
typedef struct __anonstruct_VexTranslateArgs_58 VexTranslateArgs; |
|
1225 |
typedef struct __anonstruct_VexTranslateArgs_58 VexTranslateArgs; |
| 1226 |
enum __anonenum_VexEmWarn_59 { |
|
1226 |
enum __anonenum_VexEmWarn_59 { |
| 1227 |
EmWarn_NONE = 0, |
|
1227 |
EmWarn_NONE = 0, |
| 1228 |
EmWarn_X86_x87exns = 1, |
|
1228 |
EmWarn_X86_x87exns = 1, |
| 1229 |
EmWarn_X86_x87precision = 2, |
|
1229 |
EmWarn_X86_x87precision = 2, |
| 1230 |
EmWarn_X86_sseExns = 3, |
|
1230 |
EmWarn_X86_sseExns = 3, |
| 1231 |
EmWarn_X86_fz = 4, |
|
1231 |
EmWarn_X86_fz = 4, |
| 1232 |
EmWarn_X86_daz = 5, |
|
1232 |
EmWarn_X86_daz = 5, |
| 1233 |
EmWarn_X86_acFlag = 6, |
|
1233 |
EmWarn_X86_acFlag = 6, |
| 1234 |
EmWarn_PPCexns = 7, |
|
1234 |
EmWarn_PPCexns = 7, |
| 1235 |
EmWarn_PPC64_redir_overflow = 8, |
|
1235 |
EmWarn_PPC64_redir_overflow = 8, |
| 1236 |
EmWarn_PPC64_redir_underflow = 9, |
|
1236 |
EmWarn_PPC64_redir_underflow = 9, |
| 1237 |
EmWarn_NUMBER = 10 |
|
1237 |
EmWarn_NUMBER = 10 |
| 1238 |
} ; |
|
1238 |
} ; |
| 1239 |
typedef enum __anonenum_VexEmWarn_59 VexEmWarn; |
|
1239 |
typedef enum __anonenum_VexEmWarn_59 VexEmWarn; |
| 1240 |
struct __anonstruct_VexGuestX86State_60 { |
|
1240 |
struct __anonstruct_VexGuestX86State_60 { |
| 1241 |
UInt guest_EAX ; |
|
1241 |
UInt guest_EAX ; |
| 1242 |
UInt guest_ECX ; |
|
1242 |
UInt guest_ECX ; |
| 1243 |
UInt guest_EDX ; |
|
1243 |
UInt guest_EDX ; |
| 1244 |
UInt guest_EBX ; |
|
1244 |
UInt guest_EBX ; |
| 1245 |
UInt guest_ESP ; |
|
1245 |
UInt guest_ESP ; |
| 1246 |
UInt guest_EBP ; |
|
1246 |
UInt guest_EBP ; |
| 1247 |
UInt guest_ESI ; |
|
1247 |
UInt guest_ESI ; |
| 1248 |
UInt guest_EDI ; |
|
1248 |
UInt guest_EDI ; |
| 1249 |
UInt guest_CC_OP ; |
|
1249 |
UInt guest_CC_OP ; |
| 1250 |
UInt guest_CC_DEP1 ; |
|
1250 |
UInt guest_CC_DEP1 ; |
| 1251 |
UInt guest_CC_DEP2 ; |
|
1251 |
UInt guest_CC_DEP2 ; |
| 1252 |
UInt guest_CC_NDEP ; |
|
1252 |
UInt guest_CC_NDEP ; |
| 1253 |
UInt guest_DFLAG ; |
|
1253 |
UInt guest_DFLAG ; |
| 1254 |
UInt guest_IDFLAG ; |
|
1254 |
UInt guest_IDFLAG ; |
| 1255 |
UInt guest_ACFLAG ; |
|
1255 |
UInt guest_ACFLAG ; |
| 1256 |
UInt guest_EIP ; |
|
1256 |
UInt guest_EIP ; |
| 1257 |
ULong guest_FPREG[8] ; |
|
1257 |
ULong guest_FPREG[8] ; |
| 1258 |
UChar guest_FPTAG[8] ; |
|
1258 |
UChar guest_FPTAG[8] ; |
| 1259 |
UInt guest_FPROUND ; |
|
1259 |
UInt guest_FPROUND ; |
| 1260 |
UInt guest_FC3210 ; |
|
1260 |
UInt guest_FC3210 ; |
| 1261 |
UInt guest_FTOP ; |
|
1261 |
UInt guest_FTOP ; |
| 1262 |
UInt guest_SSEROUND ; |
|
1262 |
UInt guest_SSEROUND ; |
| 1263 |
U128 guest_XMM0 ; |
|
1263 |
U128 guest_XMM0 ; |
| 1264 |
U128 guest_XMM1 ; |
|
1264 |
U128 guest_XMM1 ; |
| 1265 |
U128 guest_XMM2 ; |
|
1265 |
U128 guest_XMM2 ; |
| 1266 |
U128 guest_XMM3 ; |
|
1266 |
U128 guest_XMM3 ; |
| 1267 |
U128 guest_XMM4 ; |
|
1267 |
U128 guest_XMM4 ; |
| 1268 |
U128 guest_XMM5 ; |
|
1268 |
U128 guest_XMM5 ; |
| 1269 |
U128 guest_XMM6 ; |
|
1269 |
U128 guest_XMM6 ; |
| 1270 |
U128 guest_XMM7 ; |
|
1270 |
U128 guest_XMM7 ; |
| 1271 |
UShort guest_CS ; |
|
1271 |
UShort guest_CS ; |
| 1272 |
UShort guest_DS ; |
|
1272 |
UShort guest_DS ; |
| 1273 |
UShort guest_ES ; |
|
1273 |
UShort guest_ES ; |
| 1274 |
UShort guest_FS ; |
|
1274 |
UShort guest_FS ; |
| 1275 |
UShort guest_GS ; |
|
1275 |
UShort guest_GS ; |
| 1276 |
UShort guest_SS ; |
|
1276 |
UShort guest_SS ; |
| 1277 |
HWord guest_LDT ; |
|
1277 |
HWord guest_LDT ; |
| 1278 |
HWord guest_GDT ; |
|
1278 |
HWord guest_GDT ; |
| 1279 |
UInt guest_EMWARN ; |
|
1279 |
UInt guest_EMWARN ; |
| 1280 |
UInt guest_TISTART ; |
|
1280 |
UInt guest_TISTART ; |
| 1281 |
UInt guest_TILEN ; |
|
1281 |
UInt guest_TILEN ; |
| 1282 |
UInt guest_NRADDR ; |
|
1282 |
UInt guest_NRADDR ; |
| 1283 |
UInt guest_SC_CLASS ; |
|
1283 |
UInt guest_SC_CLASS ; |
| 1284 |
UInt guest_IP_AT_SYSCALL ; |
|
1284 |
UInt guest_IP_AT_SYSCALL ; |
| 1285 |
UInt padding1 ; |
|
1285 |
UInt padding1 ; |
| 1286 |
UInt padding2 ; |
|
1286 |
UInt padding2 ; |
| 1287 |
UInt padding3 ; |
|
1287 |
UInt padding3 ; |
| 1288 |
}; |
|
1288 |
}; |
| 1289 |
typedef struct __anonstruct_VexGuestX86State_60 VexGuestX86State; |
|
1289 |
typedef struct __anonstruct_VexGuestX86State_60 VexGuestX86State; |
| 1290 |
struct __anonstruct_Bits_63 { |
|
1290 |
struct __anonstruct_Bits_63 { |
| 1291 |
UShort LimitLow ; |
|
1291 |
UShort LimitLow ; |
| 1292 |
UShort BaseLow ; |
|
1292 |
UShort BaseLow ; |
| 1293 |
UInt BaseMid : 8 ; |
|
1293 |
UInt BaseMid : 8 ; |
| 1294 |
UInt Type : 5 ; |
|
1294 |
UInt Type : 5 ; |
| 1295 |
UInt Dpl : 2 ; |
|
1295 |
UInt Dpl : 2 ; |
| 1296 |
UInt Pres : 1 ; |
|
1296 |
UInt Pres : 1 ; |
| 1297 |
UInt LimitHi : 4 ; |
|
1297 |
UInt LimitHi : 4 ; |
| 1298 |
UInt Sys : 1 ; |
|
1298 |
UInt Sys : 1 ; |
| 1299 |
UInt Reserved_0 : 1 ; |
|
1299 |
UInt Reserved_0 : 1 ; |
| 1300 |
UInt Default_Big : 1 ; |
|
1300 |
UInt Default_Big : 1 ; |
| 1301 |
UInt Granularity : 1 ; |
|
1301 |
UInt Granularity : 1 ; |
| 1302 |
UInt BaseHi : 8 ; |
|
1302 |
UInt BaseHi : 8 ; |
| 1303 |
}; |
|
1303 |
}; |
| 1304 |
struct __anonstruct_Words_64 { |
|
1304 |
struct __anonstruct_Words_64 { |
| 1305 |
UInt word1 ; |
|
1305 |
UInt word1 ; |
| 1306 |
UInt word2 ; |
|
1306 |
UInt word2 ; |
| 1307 |
}; |
|
1307 |
}; |
| 1308 |
union __anonunion_LdtEnt_62 { |
|
1308 |
union __anonunion_LdtEnt_62 { |
| 1309 |
struct __anonstruct_Bits_63 Bits ; |
|
1309 |
struct __anonstruct_Bits_63 Bits ; |
| 1310 |
struct __anonstruct_Words_64 Words ; |
|
1310 |
struct __anonstruct_Words_64 Words ; |
| 1311 |
}; |
|
1311 |
}; |
| 1312 |
struct __anonstruct_VexGuestX86SegDescr_61 { |
|
1312 |
struct __anonstruct_VexGuestX86SegDescr_61 { |
| 1313 |
union __anonunion_LdtEnt_62 LdtEnt ; |
|
1313 |
union __anonunion_LdtEnt_62 LdtEnt ; |
| 1314 |
}; |
|
1314 |
}; |
| 1315 |
typedef struct __anonstruct_VexGuestX86SegDescr_61 VexGuestX86SegDescr; |
|
1315 |
typedef struct __anonstruct_VexGuestX86SegDescr_61 VexGuestX86SegDescr; |
| 1316 |
struct __anonstruct_X86_67 { |
|
1316 |
struct __anonstruct_X86_67 { |
| 1317 |
UInt r_ebp ; |
|
1317 |
UInt r_ebp ; |
| 1318 |
}; |
|
1318 |
}; |
| 1319 |
struct __anonstruct_AMD64_68 { |
|
1319 |
struct __anonstruct_AMD64_68 { |
| 1320 |
ULong r_rbp ; |
|
1320 |
ULong r_rbp ; |
| 1321 |
}; |
|
1321 |
}; |
| 1322 |
struct __anonstruct_PPC32_69 { |
|
1322 |
struct __anonstruct_PPC32_69 { |
| 1323 |
UInt r_lr ; |
|
1323 |
UInt r_lr ; |
| 1324 |
}; |
|
1324 |
}; |
| 1325 |
struct __anonstruct_PPC64_70 { |
|
1325 |
struct __anonstruct_PPC64_70 { |
| 1326 |
ULong r_lr ; |
|
1326 |
ULong r_lr ; |
| 1327 |
}; |
|
1327 |
}; |
| 1328 |
struct __anonstruct_ARM_71 { |
|
1328 |
struct __anonstruct_ARM_71 { |
| 1329 |
UInt r14 ; |
|
1329 |
UInt r14 ; |
| 1330 |
UInt r12 ; |
|
1330 |
UInt r12 ; |
| 1331 |
UInt r11 ; |
|
1331 |
UInt r11 ; |
| 1332 |
UInt r7 ; |
|
1332 |
UInt r7 ; |
| 1333 |
}; |
|
1333 |
}; |
| 1334 |
struct __anonstruct_S390X_72 { |
|
1334 |
struct __anonstruct_S390X_72 { |
| 1335 |
ULong r_fp ; |
|
1335 |
ULong r_fp ; |
| 1336 |
ULong r_lr ; |
|
1336 |
ULong r_lr ; |
| 1337 |
}; |
|
1337 |
}; |
| 1338 |
union __anonunion_misc_66 { |
|
1338 |
union __anonunion_misc_66 { |
| 1339 |
struct __anonstruct_X86_67 X86 ; |
|
1339 |
struct __anonstruct_X86_67 X86 ; |
| 1340 |
struct __anonstruct_AMD64_68 AMD64 ; |
|
1340 |
struct __anonstruct_AMD64_68 AMD64 ; |
| 1341 |
struct __anonstruct_PPC32_69 PPC32 ; |
|
1341 |
struct __anonstruct_PPC32_69 PPC32 ; |
| 1342 |
struct __anonstruct_PPC64_70 PPC64 ; |
|
1342 |
struct __anonstruct_PPC64_70 PPC64 ; |
| 1343 |
struct __anonstruct_ARM_71 ARM ; |
|
1343 |
struct __anonstruct_ARM_71 ARM ; |
| 1344 |
struct __anonstruct_S390X_72 S390X ; |
|
1344 |
struct __anonstruct_S390X_72 S390X ; |
| 1345 |
}; |
|
1345 |
}; |
| 1346 |
struct __anonstruct_UnwindStartRegs_65 { |
|
1346 |
struct __anonstruct_UnwindStartRegs_65 { |
| 1347 |
ULong r_pc ; |
|
1347 |
ULong r_pc ; |
| 1348 |
ULong r_sp ; |
|
1348 |
ULong r_sp ; |
| 1349 |
union __anonunion_misc_66 misc ; |
|
1349 |
union __anonunion_misc_66 misc ; |
| 1350 |
}; |
|
1350 |
}; |
| 1351 |
typedef struct __anonstruct_UnwindStartRegs_65 UnwindStartRegs; |
|
1351 |
typedef struct __anonstruct_UnwindStartRegs_65 UnwindStartRegs; |
| 1352 |
typedef unsigned short __vki_kernel_mode_t; |
|
1352 |
typedef unsigned short __vki_kernel_mode_t; |
| 1353 |
typedef long __vki_kernel_off_t; |
|
1353 |
typedef long __vki_kernel_off_t; |
| 1354 |
typedef int __vki_kernel_pid_t; |
|
1354 |
typedef int __vki_kernel_pid_t; |
| 1355 |
typedef unsigned short __vki_kernel_ipc_pid_t; |
|
1355 |
typedef unsigned short __vki_kernel_ipc_pid_t; |
| 1356 |
typedef unsigned short __vki_kernel_uid_t; |
|
1356 |
typedef unsigned short __vki_kernel_uid_t; |
| 1357 |
typedef unsigned short __vki_kernel_gid_t; |
|
1357 |
typedef unsigned short __vki_kernel_gid_t; |
| 1358 |
typedef unsigned int __vki_kernel_size_t; |
|
1358 |
typedef unsigned int __vki_kernel_size_t; |
| 1359 |
typedef long __vki_kernel_time_t; |
|
1359 |
typedef long __vki_kernel_time_t; |
| 1360 |
typedef long __vki_kernel_suseconds_t; |
|
1360 |
typedef long __vki_kernel_suseconds_t; |
| 1361 |
typedef long __vki_kernel_clock_t; |
|
1361 |
typedef long __vki_kernel_clock_t; |
| 1362 |
typedef int __vki_kernel_timer_t; |
|
1362 |
typedef int __vki_kernel_timer_t; |
| 1363 |
typedef int __vki_kernel_clockid_t; |
|
1363 |
typedef int __vki_kernel_clockid_t; |
| 1364 |
typedef char *__vki_kernel_caddr_t; |
|
1364 |
typedef char *__vki_kernel_caddr_t; |
| 1365 |
typedef unsigned int __vki_kernel_uid32_t; |
|
1365 |
typedef unsigned int __vki_kernel_uid32_t; |
| 1366 |
typedef unsigned int __vki_kernel_gid32_t; |
|
1366 |
typedef unsigned int __vki_kernel_gid32_t; |
| 1367 |
typedef unsigned short __vki_kernel_old_uid_t; |
|
1367 |
typedef unsigned short __vki_kernel_old_uid_t; |
| 1368 |
typedef unsigned short __vki_kernel_old_gid_t; |
|
1368 |
typedef unsigned short __vki_kernel_old_gid_t; |
| 1369 |
typedef long long __vki_kernel_loff_t; |
|
1369 |
typedef long long __vki_kernel_loff_t; |
| 1370 |
struct __anonstruct___vki_kernel_fsid_t_73 { |
|
1370 |
struct __anonstruct___vki_kernel_fsid_t_73 { |
| 1371 |
int val[2] ; |
|
1371 |
int val[2] ; |
| 1372 |
}; |
|
1372 |
}; |
| 1373 |
typedef struct __anonstruct___vki_kernel_fsid_t_73 __vki_kernel_fsid_t; |
|
1373 |
typedef struct __anonstruct___vki_kernel_fsid_t_73 __vki_kernel_fsid_t; |
| 1374 |
struct __anonstruct___vki_kernel_fd_set_74 { |
|
1374 |
struct __anonstruct___vki_kernel_fd_set_74 { |
| 1375 |
unsigned long fds_bits[1024U / (8U * sizeof(unsigned long ))] ; |
|
1375 |
unsigned long fds_bits[1024U / (8U * sizeof(unsigned long ))] ; |
| 1376 |
}; |
|
1376 |
}; |
| 1377 |
typedef struct __anonstruct___vki_kernel_fd_set_74 __vki_kernel_fd_set; |
|
1377 |
typedef struct __anonstruct___vki_kernel_fd_set_74 __vki_kernel_fd_set; |
| 1378 |
typedef int __vki_kernel_key_t; |
|
1378 |
typedef int __vki_kernel_key_t; |
| 1379 |
typedef int __vki_kernel_mqd_t; |
|
1379 |
typedef int __vki_kernel_mqd_t; |
| 1380 |
typedef __vki_kernel_fd_set vki_fd_set; |
|
1380 |
typedef __vki_kernel_fd_set vki_fd_set; |
| 1381 |
typedef __vki_kernel_mode_t vki_mode_t; |
|
1381 |
typedef __vki_kernel_mode_t vki_mode_t; |
| 1382 |
typedef __vki_kernel_off_t vki_off_t; |
|
1382 |
typedef __vki_kernel_off_t vki_off_t; |
| 1383 |
typedef __vki_kernel_pid_t vki_pid_t; |
|
1383 |
typedef __vki_kernel_pid_t vki_pid_t; |
| 1384 |
typedef __vki_kernel_key_t vki_key_t; |
|
1384 |
typedef __vki_kernel_key_t vki_key_t; |
| 1385 |
typedef __vki_kernel_suseconds_t vki_suseconds_t; |
|
1385 |
typedef __vki_kernel_suseconds_t vki_suseconds_t; |
| 1386 |
typedef __vki_kernel_timer_t vki_timer_t; |
|
1386 |
typedef __vki_kernel_timer_t vki_timer_t; |
| 1387 |
typedef __vki_kernel_clockid_t vki_clockid_t; |
|
1387 |
typedef __vki_kernel_clockid_t vki_clockid_t; |
| 1388 |
typedef __vki_kernel_mqd_t vki_mqd_t; |
|
1388 |
typedef __vki_kernel_mqd_t vki_mqd_t; |
| 1389 |
typedef __vki_kernel_uid32_t vki_uid_t; |
|
1389 |
typedef __vki_kernel_uid32_t vki_uid_t; |
| 1390 |
typedef __vki_kernel_gid32_t vki_gid_t; |
|
1390 |
typedef __vki_kernel_gid32_t vki_gid_t; |
| 1391 |
typedef __vki_kernel_old_uid_t vki_old_uid_t; |
|
1391 |
typedef __vki_kernel_old_uid_t vki_old_uid_t; |
| 1392 |
typedef __vki_kernel_old_gid_t vki_old_gid_t; |
|
1392 |
typedef __vki_kernel_old_gid_t vki_old_gid_t; |
| 1393 |
typedef __vki_kernel_loff_t vki_loff_t; |
|
1393 |
typedef __vki_kernel_loff_t vki_loff_t; |
| 1394 |
typedef __vki_kernel_size_t vki_size_t; |
|
1394 |
typedef __vki_kernel_size_t vki_size_t; |
| 1395 |
typedef __vki_kernel_time_t vki_time_t; |
|
1395 |
typedef __vki_kernel_time_t vki_time_t; |
| 1396 |
typedef __vki_kernel_clock_t vki_clock_t; |
|
1396 |
typedef __vki_kernel_clock_t vki_clock_t; |
| 1397 |
typedef __vki_kernel_caddr_t vki_caddr_t; |
|
1397 |
typedef __vki_kernel_caddr_t vki_caddr_t; |
| 1398 |
typedef unsigned long vki_u_long; |
|
1398 |
typedef unsigned long vki_u_long; |
| 1399 |
typedef unsigned int vki_uint; |
|
1399 |
typedef unsigned int vki_uint; |
| 1400 |
typedef unsigned char __vki_u8; |
|
1400 |
typedef unsigned char __vki_u8; |
| 1401 |
typedef short __vki_s16; |
|
1401 |
typedef short __vki_s16; |
| 1402 |
typedef unsigned short __vki_u16; |
|
1402 |
typedef unsigned short __vki_u16; |
| 1403 |
typedef int __vki_s32; |
|
1403 |
typedef int __vki_s32; |
| 1404 |
typedef unsigned int __vki_u32; |
|
1404 |
typedef unsigned int __vki_u32; |
| 1405 |
typedef long long __vki_s64; |
|
1405 |
typedef long long __vki_s64; |
| 1406 |
typedef unsigned long long __vki_u64; |
|
1406 |
typedef unsigned long long __vki_u64; |
| 1407 |
typedef unsigned short vki_u16; |
|
1407 |
typedef unsigned short vki_u16; |
| 1408 |
typedef unsigned int vki_u32; |
|
1408 |
typedef unsigned int vki_u32; |
| 1409 |
typedef void __vki_signalfn_t(int ); |
|
1409 |
typedef void __vki_signalfn_t(int ); |
| 1410 |
typedef __vki_signalfn_t *__vki_sighandler_t; |
|
1410 |
typedef __vki_signalfn_t *__vki_sighandler_t; |
| 1411 |
typedef void __vki_restorefn_t(void); |
|
1411 |
typedef void __vki_restorefn_t(void); |
| 1412 |
typedef __vki_restorefn_t *__vki_sigrestore_t; |
|
1412 |
typedef __vki_restorefn_t *__vki_sigrestore_t; |
| 1413 |
typedef unsigned long vki_old_sigset_t; |
|
1413 |
typedef unsigned long vki_old_sigset_t; |
| 1414 |
struct __anonstruct_vki_sigset_t_75 { |
|
1414 |
struct __anonstruct_vki_sigset_t_75 { |
| 1415 |
unsigned long sig[2] ; |
|
1415 |
unsigned long sig[2] ; |
| 1416 |
}; |
|
1416 |
}; |
| 1417 |
typedef struct __anonstruct_vki_sigset_t_75 vki_sigset_t; |
|
1417 |
typedef struct __anonstruct_vki_sigset_t_75 vki_sigset_t; |
| 1418 |
struct vki_old_sigaction { |
|
1418 |
struct vki_old_sigaction { |
| 1419 |
__vki_sighandler_t ksa_handler ; |
|
1419 |
__vki_sighandler_t ksa_handler ; |
| 1420 |
vki_old_sigset_t sa_mask ; |
|
1420 |
vki_old_sigset_t sa_mask ; |
| 1421 |
unsigned long sa_flags ; |
|
1421 |
unsigned long sa_flags ; |
| 1422 |
__vki_sigrestore_t sa_restorer ; |
|
1422 |
__vki_sigrestore_t sa_restorer ; |
| 1423 |
}; |
|
1423 |
}; |
| 1424 |
struct vki_sigaction_base { |
|
1424 |
struct vki_sigaction_base { |
| 1425 |
__vki_sighandler_t ksa_handler ; |
|
1425 |
__vki_sighandler_t ksa_handler ; |
| 1426 |
unsigned long sa_flags ; |
|
1426 |
unsigned long sa_flags ; |
| 1427 |
__vki_sigrestore_t sa_restorer ; |
|
1427 |
__vki_sigrestore_t sa_restorer ; |
| 1428 |
vki_sigset_t sa_mask ; |
|
1428 |
vki_sigset_t sa_mask ; |
| 1429 |
}; |
|
1429 |
}; |
| 1430 |
typedef struct vki_sigaction_base vki_sigaction_toK_t; |
|
1430 |
typedef struct vki_sigaction_base vki_sigaction_toK_t; |
| 1431 |
typedef struct vki_sigaction_base vki_sigaction_fromK_t; |
|
1431 |
typedef struct vki_sigaction_base vki_sigaction_fromK_t; |
| 1432 |
struct vki_sigaltstack { |
|
1432 |
struct vki_sigaltstack { |
| 1433 |
void *ss_sp ; |
|
1433 |
void *ss_sp ; |
| 1434 |
int ss_flags ; |
|
1434 |
int ss_flags ; |
| 1435 |
vki_size_t ss_size ; |
|
1435 |
vki_size_t ss_size ; |
| 1436 |
}; |
|
1436 |
}; |
| 1437 |
typedef struct vki_sigaltstack vki_stack_t; |
|
1437 |
typedef struct vki_sigaltstack vki_stack_t; |
| 1438 |
struct _vki_fpreg { |
|
1438 |
struct _vki_fpreg { |
| 1439 |
unsigned short significand[4] ; |
|
1439 |
unsigned short significand[4] ; |
| 1440 |
unsigned short exponent ; |
|
1440 |
unsigned short exponent ; |
| 1441 |
}; |
|
1441 |
}; |
| 1442 |
struct _vki_fpxreg { |
|
1442 |
struct _vki_fpxreg { |
| 1443 |
unsigned short significand[4] ; |
|
1443 |
unsigned short significand[4] ; |
| 1444 |
unsigned short exponent ; |
|
1444 |
unsigned short exponent ; |
| 1445 |
unsigned short padding[3] ; |
|
1445 |
unsigned short padding[3] ; |
| 1446 |
}; |
|
1446 |
}; |
| 1447 |
struct _vki_xmmreg { |
|
1447 |
struct _vki_xmmreg { |
| 1448 |
unsigned long element[4] ; |
|
1448 |
unsigned long element[4] ; |
| 1449 |
}; |
|
1449 |
}; |
| 1450 |
struct _vki_fpstate { |
|
1450 |
struct _vki_fpstate { |
| 1451 |
unsigned long cw ; |
|
1451 |
unsigned long cw ; |
| 1452 |
unsigned long sw ; |
|
1452 |
unsigned long sw ; |
| 1453 |
unsigned long tag ; |
|
1453 |
unsigned long tag ; |
| 1454 |
unsigned long ipoff ; |
|
1454 |
unsigned long ipoff ; |
| 1455 |
unsigned long cssel ; |
|
1455 |
unsigned long cssel ; |
| 1456 |
unsigned long dataoff ; |
|
1456 |
unsigned long dataoff ; |
| 1457 |
unsigned long datasel ; |
|
1457 |
unsigned long datasel ; |
| 1458 |
struct _vki_fpreg _st[8] ; |
|
1458 |
struct _vki_fpreg _st[8] ; |
| 1459 |
unsigned short status ; |
|
1459 |
unsigned short status ; |
| 1460 |
unsigned short magic ; |
|
1460 |
unsigned short magic ; |
| 1461 |
unsigned long _fxsr_env[6] ; |
|
1461 |
unsigned long _fxsr_env[6] ; |
| 1462 |
unsigned long mxcsr ; |
|
1462 |
unsigned long mxcsr ; |
| 1463 |
unsigned long reserved ; |
|
1463 |
unsigned long reserved ; |
| 1464 |
struct _vki_fpxreg _fxsr_st[8] ; |
|
1464 |
struct _vki_fpxreg _fxsr_st[8] ; |
| 1465 |
struct _vki_xmmreg _xmm[8] ; |
|
1465 |
struct _vki_xmmreg _xmm[8] ; |
| 1466 |
unsigned long padding[56] ; |
|
1466 |
unsigned long padding[56] ; |
| 1467 |
}; |
|
1467 |
}; |
| 1468 |
struct vki_sigcontext { |
|
1468 |
struct vki_sigcontext { |
| 1469 |
unsigned short gs ; |
|
1469 |
unsigned short gs ; |
| 1470 |
unsigned short __gsh ; |
|
1470 |
unsigned short __gsh ; |
| 1471 |
unsigned short fs ; |
|
1471 |
unsigned short fs ; |
| 1472 |
unsigned short __fsh ; |
|
1472 |
unsigned short __fsh ; |
| 1473 |
unsigned short es ; |
|
1473 |
unsigned short es ; |
| 1474 |
unsigned short __esh ; |
|
1474 |
unsigned short __esh ; |
| 1475 |
unsigned short ds ; |
|
1475 |
unsigned short ds ; |
| 1476 |
unsigned short __dsh ; |
|
1476 |
unsigned short __dsh ; |
| 1477 |
unsigned long edi ; |
|
1477 |
unsigned long edi ; |
| 1478 |
unsigned long esi ; |
|
1478 |
unsigned long esi ; |
| 1479 |
unsigned long ebp ; |
|
1479 |
unsigned long ebp ; |
| 1480 |
unsigned long esp ; |
|
1480 |
unsigned long esp ; |
| 1481 |
unsigned long ebx ; |
|
1481 |
unsigned long ebx ; |
| 1482 |
unsigned long edx ; |
|
1482 |
unsigned long edx ; |
| 1483 |
unsigned long ecx ; |
|
1483 |
unsigned long ecx ; |
| 1484 |
unsigned long eax ; |
|
1484 |
unsigned long eax ; |
| 1485 |
unsigned long trapno ; |
|
1485 |
unsigned long trapno ; |
| 1486 |
unsigned long err ; |
|
1486 |
unsigned long err ; |
| 1487 |
unsigned long eip ; |
|
1487 |
unsigned long eip ; |
| 1488 |
unsigned short cs ; |
|
1488 |
unsigned short cs ; |
| 1489 |
unsigned short __csh ; |
|
1489 |
unsigned short __csh ; |
| 1490 |
unsigned long eflags ; |
|
1490 |
unsigned long eflags ; |
| 1491 |
unsigned long esp_at_signal ; |
|
1491 |
unsigned long esp_at_signal ; |
| 1492 |
unsigned short ss ; |
|
1492 |
unsigned short ss ; |
| 1493 |
unsigned short __ssh ; |
|
1493 |
unsigned short __ssh ; |
| 1494 |
struct _vki_fpstate *fpstate ; |
|
1494 |
struct _vki_fpstate *fpstate ; |
| 1495 |
unsigned long oldmask ; |
|
1495 |
unsigned long oldmask ; |
| 1496 |
unsigned long cr2 ; |
|
1496 |
unsigned long cr2 ; |
| 1497 |
}; |
|
1497 |
}; |
| 1498 |
struct vki_stat { |
|
1498 |
struct vki_stat { |
| 1499 |
unsigned long st_dev ; |
|
1499 |
unsigned long st_dev ; |
| 1500 |
unsigned long st_ino ; |
|
1500 |
unsigned long st_ino ; |
| 1501 |
unsigned short st_mode ; |
|
1501 |
unsigned short st_mode ; |
| 1502 |
unsigned short st_nlink ; |
|
1502 |
unsigned short st_nlink ; |
| 1503 |
unsigned short st_uid ; |
|
1503 |
unsigned short st_uid ; |
| 1504 |
unsigned short st_gid ; |
|
1504 |
unsigned short st_gid ; |
| 1505 |
unsigned long st_rdev ; |
|
1505 |
unsigned long st_rdev ; |
| 1506 |
unsigned long st_size ; |
|
1506 |
unsigned long st_size ; |
| 1507 |
unsigned long st_blksize ; |
|
1507 |
unsigned long st_blksize ; |
| 1508 |
unsigned long st_blocks ; |
|
1508 |
unsigned long st_blocks ; |
| 1509 |
unsigned long st_atime ; |
|
1509 |
unsigned long st_atime ; |
| 1510 |
unsigned long st_atime_nsec ; |
|
1510 |
unsigned long st_atime_nsec ; |
| 1511 |
unsigned long st_mtime ; |
|
1511 |
unsigned long st_mtime ; |
| 1512 |
unsigned long st_mtime_nsec ; |
|
1512 |
unsigned long st_mtime_nsec ; |
| 1513 |
unsigned long st_ctime ; |
|
1513 |
unsigned long st_ctime ; |
| 1514 |
unsigned long st_ctime_nsec ; |
|
1514 |
unsigned long st_ctime_nsec ; |
| 1515 |
unsigned long __unused4 ; |
|
1515 |
unsigned long __unused4 ; |
| 1516 |
unsigned long __unused5 ; |
|
1516 |
unsigned long __unused5 ; |
| 1517 |
}; |
|
1517 |
}; |
| 1518 |
struct vki_stat64 { |
|
1518 |
struct vki_stat64 { |
| 1519 |
unsigned long long st_dev ; |
|
1519 |
unsigned long long st_dev ; |
| 1520 |
unsigned char __pad0[4] ; |
|
1520 |
unsigned char __pad0[4] ; |
| 1521 |
unsigned long __st_ino ; |
|
1521 |
unsigned long __st_ino ; |
| 1522 |
unsigned int st_mode ; |
|
1522 |
unsigned int st_mode ; |
| 1523 |
unsigned int st_nlink ; |
|
1523 |
unsigned int st_nlink ; |
| 1524 |
unsigned long st_uid ; |
|
1524 |
unsigned long st_uid ; |
| 1525 |
unsigned long st_gid ; |
|
1525 |
unsigned long st_gid ; |
| 1526 |
unsigned long long st_rdev ; |
|
1526 |
unsigned long long st_rdev ; |
| 1527 |
unsigned char __pad3[4] ; |
|
1527 |
unsigned char __pad3[4] ; |
| 1528 |
long long st_size ; |
|
1528 |
long long st_size ; |
| 1529 |
unsigned long st_blksize ; |
|
1529 |
unsigned long st_blksize ; |
| 1530 |
unsigned long st_blocks ; |
|
1530 |
unsigned long st_blocks ; |
| 1531 |
unsigned long __pad4 ; |
|
1531 |
unsigned long __pad4 ; |
| 1532 |
unsigned long st_atime ; |
|
1532 |
unsigned long st_atime ; |
| 1533 |
unsigned long st_atime_nsec ; |
|
1533 |
unsigned long st_atime_nsec ; |
| 1534 |
unsigned long st_mtime ; |
|
1534 |
unsigned long st_mtime ; |
| 1535 |
unsigned int st_mtime_nsec ; |
|
1535 |
unsigned int st_mtime_nsec ; |
| 1536 |
unsigned long st_ctime ; |
|
1536 |
unsigned long st_ctime ; |
| 1537 |
unsigned long st_ctime_nsec ; |
|
1537 |
unsigned long st_ctime_nsec ; |
| 1538 |
unsigned long long st_ino ; |
|
1538 |
unsigned long long st_ino ; |
| 1539 |
}; |
|
1539 |
}; |
| 1540 |
struct vki_statfs { |
|
1540 |
struct vki_statfs { |
| 1541 |
__vki_u32 f_type ; |
|
1541 |
__vki_u32 f_type ; |
| 1542 |
__vki_u32 f_bsize ; |
|
1542 |
__vki_u32 f_bsize ; |
| 1543 |
__vki_u32 f_blocks ; |
|
1543 |
__vki_u32 f_blocks ; |
| 1544 |
__vki_u32 f_bfree ; |
|
1544 |
__vki_u32 f_bfree ; |
| 1545 |
__vki_u32 f_bavail ; |
|
1545 |
__vki_u32 f_bavail ; |
| 1546 |
__vki_u32 f_files ; |
|
1546 |
__vki_u32 f_files ; |
| 1547 |
__vki_u32 f_ffree ; |
|
1547 |
__vki_u32 f_ffree ; |
| 1548 |
__vki_kernel_fsid_t f_fsid ; |
|
1548 |
__vki_kernel_fsid_t f_fsid ; |
| 1549 |
__vki_u32 f_namelen ; |
|
1549 |
__vki_u32 f_namelen ; |
| 1550 |
__vki_u32 f_frsize ; |
|
1550 |
__vki_u32 f_frsize ; |
| 1551 |
__vki_u32 f_spare[5] ; |
|
1551 |
__vki_u32 f_spare[5] ; |
| 1552 |
}; |
|
1552 |
}; |
| 1553 |
struct vki_winsize { |
|
1553 |
struct vki_winsize { |
| 1554 |
unsigned short ws_row ; |
|
1554 |
unsigned short ws_row ; |
| 1555 |
unsigned short ws_col ; |
|
1555 |
unsigned short ws_col ; |
| 1556 |
unsigned short ws_xpixel ; |
|
1556 |
unsigned short ws_xpixel ; |
| 1557 |
unsigned short ws_ypixel ; |
|
1557 |
unsigned short ws_ypixel ; |
| 1558 |
}; |
|
1558 |
}; |
| 1559 |
struct vki_termio { |
|
1559 |
struct vki_termio { |
| 1560 |
unsigned short c_iflag ; |
|
1560 |
unsigned short c_iflag ; |
| 1561 |
unsigned short c_oflag ; |
|
1561 |
unsigned short c_oflag ; |
| 1562 |
unsigned short c_cflag ; |
|
1562 |
unsigned short c_cflag ; |
| 1563 |
unsigned short c_lflag ; |
|
1563 |
unsigned short c_lflag ; |
| 1564 |
unsigned char c_line ; |
|
1564 |
unsigned char c_line ; |
| 1565 |
unsigned char c_cc[8] ; |
|
1565 |
unsigned char c_cc[8] ; |
| 1566 |
}; |
|
1566 |
}; |
| 1567 |
typedef unsigned char vki_cc_t; |
|
1567 |
typedef unsigned char vki_cc_t; |
| 1568 |
typedef unsigned int vki_tcflag_t; |
|
1568 |
typedef unsigned int vki_tcflag_t; |
| 1569 |
struct vki_termios { |
|
1569 |
struct vki_termios { |
| 1570 |
vki_tcflag_t c_iflag ; |
|
1570 |
vki_tcflag_t c_iflag ; |
| 1571 |
vki_tcflag_t c_oflag ; |
|
1571 |
vki_tcflag_t c_oflag ; |
| 1572 |
vki_tcflag_t c_cflag ; |
|
1572 |
vki_tcflag_t c_cflag ; |
| 1573 |
vki_tcflag_t c_lflag ; |
|
1573 |
vki_tcflag_t c_lflag ; |
| 1574 |
vki_cc_t c_line ; |
|
1574 |
vki_cc_t c_line ; |
| 1575 |
vki_cc_t c_cc[19] ; |
|
1575 |
vki_cc_t c_cc[19] ; |
| 1576 |
}; |
|
1576 |
}; |
| 1577 |
struct vki_pollfd { |
|
1577 |
struct vki_pollfd { |
| 1578 |
int fd ; |
|
1578 |
int fd ; |
| 1579 |
short events ; |
|
1579 |
short events ; |
| 1580 |
short revents ; |
|
1580 |
short revents ; |
| 1581 |
}; |
|
1581 |
}; |
| 1582 |
struct vki_user_i387_struct { |
|
1582 |
struct vki_user_i387_struct { |
| 1583 |
long cwd ; |
|
1583 |
long cwd ; |
| 1584 |
long swd ; |
|
1584 |
long swd ; |
| 1585 |
long twd ; |
|
1585 |
long twd ; |
| 1586 |
long fip ; |
|
1586 |
long fip ; |
| 1587 |
long fcs ; |
|
1587 |
long fcs ; |
| 1588 |
long foo ; |
|
1588 |
long foo ; |
| 1589 |
long fos ; |
|
1589 |
long fos ; |
| 1590 |
long st_space[20] ; |
|
1590 |
long st_space[20] ; |
| 1591 |
}; |
|
1591 |
}; |
| 1592 |
struct vki_user_fxsr_struct { |
|
1592 |
struct vki_user_fxsr_struct { |
| 1593 |
unsigned short cwd ; |
|
1593 |
unsigned short cwd ; |
| 1594 |
unsigned short swd ; |
|
1594 |
unsigned short swd ; |
| 1595 |
unsigned short twd ; |
|
1595 |
unsigned short twd ; |
| 1596 |
unsigned short fop ; |
|
1596 |
unsigned short fop ; |
| 1597 |
long fip ; |
|
1597 |
long fip ; |
| 1598 |
long fcs ; |
|
1598 |
long fcs ; |
| 1599 |
long foo ; |
|
1599 |
long foo ; |
| 1600 |
long fos ; |
|
1600 |
long fos ; |
| 1601 |
long mxcsr ; |
|
1601 |
long mxcsr ; |
| 1602 |
long reserved ; |
|
1602 |
long reserved ; |
| 1603 |
long st_space[32] ; |
|
1603 |
long st_space[32] ; |
| 1604 |
long xmm_space[32] ; |
|
1604 |
long xmm_space[32] ; |
| 1605 |
long padding[56] ; |
|
1605 |
long padding[56] ; |
| 1606 |
}; |
|
1606 |
}; |
| 1607 |
struct vki_user_regs_struct { |
|
1607 |
struct vki_user_regs_struct { |
| 1608 |
long ebx ; |
|
1608 |
long ebx ; |
| 1609 |
long ecx ; |
|
1609 |
long ecx ; |
| 1610 |
long edx ; |
|
1610 |
long edx ; |
| 1611 |
long esi ; |
|
1611 |
long esi ; |
| 1612 |
long edi ; |
|
1612 |
long edi ; |
| 1613 |
long ebp ; |
|
1613 |
long ebp ; |
| 1614 |
long eax ; |
|
1614 |
long eax ; |
| 1615 |
unsigned short ds ; |
|
1615 |
unsigned short ds ; |
| 1616 |
unsigned short __ds ; |
|
1616 |
unsigned short __ds ; |
| 1617 |
unsigned short es ; |
|
1617 |
unsigned short es ; |
| 1618 |
unsigned short __es ; |
|
1618 |
unsigned short __es ; |
| 1619 |
unsigned short fs ; |
|
1619 |
unsigned short fs ; |
| 1620 |
unsigned short __fs ; |
|
1620 |
unsigned short __fs ; |
| 1621 |
unsigned short gs ; |
|
1621 |
unsigned short gs ; |
| 1622 |
unsigned short __gs ; |
|
1622 |
unsigned short __gs ; |
| 1623 |
long orig_eax ; |
|
1623 |
long orig_eax ; |
| 1624 |
long eip ; |
|
1624 |
long eip ; |
| 1625 |
unsigned short cs ; |
|
1625 |
unsigned short cs ; |
| 1626 |
unsigned short __cs ; |
|
1626 |
unsigned short __cs ; |
| 1627 |
long eflags ; |
|
1627 |
long eflags ; |
| 1628 |
long esp ; |
|
1628 |
long esp ; |
| 1629 |
unsigned short ss ; |
|
1629 |
unsigned short ss ; |
| 1630 |
unsigned short __ss ; |
|
1630 |
unsigned short __ss ; |
| 1631 |
}; |
|
1631 |
}; |
| 1632 |
typedef unsigned long vki_elf_greg_t; |
|
1632 |
typedef unsigned long vki_elf_greg_t; |
| 1633 |
typedef vki_elf_greg_t vki_elf_gregset_t[sizeof(struct vki_user_regs_struct ) / sizeof(vki_elf_greg_t )]; |
|
1633 |
typedef vki_elf_greg_t vki_elf_gregset_t[sizeof(struct vki_user_regs_struct ) / sizeof(vki_elf_greg_t )]; |
| 1634 |
typedef struct vki_user_i387_struct vki_elf_fpregset_t; |
|
1634 |
typedef struct vki_user_i387_struct vki_elf_fpregset_t; |
| 1635 |
typedef struct vki_user_fxsr_struct vki_elf_fpxregset_t; |
|
1635 |
typedef struct vki_user_fxsr_struct vki_elf_fpxregset_t; |
| 1636 |
struct vki_ucontext { |
|
1636 |
struct vki_ucontext { |
| 1637 |
unsigned long uc_flags ; |
|
1637 |
unsigned long uc_flags ; |
| 1638 |
struct vki_ucontext *uc_link ; |
|
1638 |
struct vki_ucontext *uc_link ; |
| 1639 |
vki_stack_t uc_stack ; |
|
1639 |
vki_stack_t uc_stack ; |
| 1640 |
struct vki_sigcontext uc_mcontext ; |
|
1640 |
struct vki_sigcontext uc_mcontext ; |
| 1641 |
vki_sigset_t uc_sigmask ; |
|
1641 |
vki_sigset_t uc_sigmask ; |
| 1642 |
}; |
|
1642 |
}; |
| 1643 |
struct vki_user_desc { |
|
1643 |
struct vki_user_desc { |
| 1644 |
unsigned int entry_number ; |
|
1644 |
unsigned int entry_number ; |
| 1645 |
unsigned long base_addr ; |
|
1645 |
unsigned long base_addr ; |
| 1646 |
unsigned int limit ; |
|
1646 |
unsigned int limit ; |
| 1647 |
unsigned int seg_32bit : 1 ; |
|
1647 |
unsigned int seg_32bit : 1 ; |
| 1648 |
unsigned int contents : 2 ; |
|
1648 |
unsigned int contents : 2 ; |
| 1649 |
unsigned int read_exec_only : 1 ; |
|
1649 |
unsigned int read_exec_only : 1 ; |
| 1650 |
unsigned int limit_in_pages : 1 ; |
|
1650 |
unsigned int limit_in_pages : 1 ; |
| 1651 |
unsigned int seg_not_present : 1 ; |
|
1651 |
unsigned int seg_not_present : 1 ; |
| 1652 |
unsigned int useable : 1 ; |
|
1652 |
unsigned int useable : 1 ; |
| 1653 |
unsigned int reserved : 25 ; |
|
1653 |
unsigned int reserved : 25 ; |
| 1654 |
}; |
|
1654 |
}; |
| 1655 |
typedef struct vki_user_desc vki_modify_ldt_t; |
|
1655 |
typedef struct vki_user_desc vki_modify_ldt_t; |
| 1656 |
struct vki_ipc64_perm { |
|
1656 |
struct vki_ipc64_perm { |
| 1657 |
__vki_kernel_key_t key ; |
|
1657 |
__vki_kernel_key_t key ; |
| 1658 |
__vki_kernel_uid32_t uid ; |
|
1658 |
__vki_kernel_uid32_t uid ; |
| 1659 |
__vki_kernel_gid32_t gid ; |
|
1659 |
__vki_kernel_gid32_t gid ; |
| 1660 |
__vki_kernel_uid32_t cuid ; |
|
1660 |
__vki_kernel_uid32_t cuid ; |
| 1661 |
__vki_kernel_gid32_t cgid ; |
|
1661 |
__vki_kernel_gid32_t cgid ; |
| 1662 |
__vki_kernel_mode_t mode ; |
|
1662 |
__vki_kernel_mode_t mode ; |
| 1663 |
unsigned short __pad1 ; |
|
1663 |
unsigned short __pad1 ; |
| 1664 |
unsigned short seq ; |
|
1664 |
unsigned short seq ; |
| 1665 |
unsigned short __pad2 ; |
|
1665 |
unsigned short __pad2 ; |
| 1666 |
unsigned long __unused1 ; |
|
1666 |
unsigned long __unused1 ; |
| 1667 |
unsigned long __unused2 ; |
|
1667 |
unsigned long __unused2 ; |
| 1668 |
}; |
|
1668 |
}; |
| 1669 |
struct vki_semid64_ds { |
|
1669 |
struct vki_semid64_ds { |
| 1670 |
struct vki_ipc64_perm sem_perm ; |
|
1670 |
struct vki_ipc64_perm sem_perm ; |
| 1671 |
__vki_kernel_time_t sem_otime ; |
|
1671 |
__vki_kernel_time_t sem_otime ; |
| 1672 |
unsigned long __unused1 ; |
|
1672 |
unsigned long __unused1 ; |
| 1673 |
__vki_kernel_time_t sem_ctime ; |
|
1673 |
__vki_kernel_time_t sem_ctime ; |
| 1674 |
unsigned long __unused2 ; |
|
1674 |
unsigned long __unused2 ; |
| 1675 |
unsigned long sem_nsems ; |
|
1675 |
unsigned long sem_nsems ; |
| 1676 |
unsigned long __unused3 ; |
|
1676 |
unsigned long __unused3 ; |
| 1677 |
unsigned long __unused4 ; |
|
1677 |
unsigned long __unused4 ; |
| 1678 |
}; |
|
1678 |
}; |
| 1679 |
struct vki_msqid64_ds { |
|
1679 |
struct vki_msqid64_ds { |
| 1680 |
struct vki_ipc64_perm msg_perm ; |
|
1680 |
struct vki_ipc64_perm msg_perm ; |
| 1681 |
__vki_kernel_time_t msg_stime ; |
|
1681 |
__vki_kernel_time_t msg_stime ; |
| 1682 |
unsigned long __unused1 ; |
|
1682 |
unsigned long __unused1 ; |
| 1683 |
__vki_kernel_time_t msg_rtime ; |
|
1683 |
__vki_kernel_time_t msg_rtime ; |
| 1684 |
unsigned long __unused2 ; |
|
1684 |
unsigned long __unused2 ; |
| 1685 |
__vki_kernel_time_t msg_ctime ; |
|
1685 |
__vki_kernel_time_t msg_ctime ; |
| 1686 |
unsigned long __unused3 ; |
|
1686 |
unsigned long __unused3 ; |
| 1687 |
unsigned long msg_cbytes ; |
|
1687 |
unsigned long msg_cbytes ; |
| 1688 |
unsigned long msg_qnum ; |
|
1688 |
unsigned long msg_qnum ; |
| 1689 |
unsigned long msg_qbytes ; |
|
1689 |
unsigned long msg_qbytes ; |
| 1690 |
__vki_kernel_pid_t msg_lspid ; |
|
1690 |
__vki_kernel_pid_t msg_lspid ; |
| 1691 |
__vki_kernel_pid_t msg_lrpid ; |
|
1691 |
__vki_kernel_pid_t msg_lrpid ; |
| 1692 |
unsigned long __unused4 ; |
|
1692 |
unsigned long __unused4 ; |
| 1693 |
unsigned long __unused5 ; |
|
1693 |
unsigned long __unused5 ; |
| 1694 |
}; |
|
1694 |
}; |
| 1695 |
struct vki_msgbuf; |
|
1695 |
struct vki_msgbuf; |
| 1696 |
struct vki_ipc_kludge { |
|
1696 |
struct vki_ipc_kludge { |
| 1697 |
struct vki_msgbuf *msgp ; |
|
1697 |
struct vki_msgbuf *msgp ; |
| 1698 |
long msgtyp ; |
|
1698 |
long msgtyp ; |
| 1699 |
}; |
|
1699 |
}; |
| 1700 |
struct vki_shmid64_ds { |
|
1700 |
struct vki_shmid64_ds { |
| 1701 |
struct vki_ipc64_perm shm_perm ; |
|
1701 |
struct vki_ipc64_perm shm_perm ; |
| 1702 |
vki_size_t shm_segsz ; |
|
1702 |
vki_size_t shm_segsz ; |
| 1703 |
__vki_kernel_time_t shm_atime ; |
|
1703 |
__vki_kernel_time_t shm_atime ; |
| 1704 |
unsigned long __unused1 ; |
|
1704 |
unsigned long __unused1 ; |
| 1705 |
__vki_kernel_time_t shm_dtime ; |
|
1705 |
__vki_kernel_time_t shm_dtime ; |
| 1706 |
unsigned long __unused2 ; |
|
1706 |
unsigned long __unused2 ; |
| 1707 |
__vki_kernel_time_t shm_ctime ; |
|
1707 |
__vki_kernel_time_t shm_ctime ; |
| 1708 |
unsigned long __unused3 ; |
|
1708 |
unsigned long __unused3 ; |
| 1709 |
__vki_kernel_pid_t shm_cpid ; |
|
1709 |
__vki_kernel_pid_t shm_cpid ; |
| 1710 |
__vki_kernel_pid_t shm_lpid ; |
|
1710 |
__vki_kernel_pid_t shm_lpid ; |
| 1711 |
unsigned long shm_nattch ; |
|
1711 |
unsigned long shm_nattch ; |
| 1712 |
unsigned long __unused4 ; |
|
1712 |
unsigned long __unused4 ; |
| 1713 |
unsigned long __unused5 ; |
|
1713 |
unsigned long __unused5 ; |
| 1714 |
}; |
|
1714 |
}; |
| 1715 |
struct vki_shminfo64 { |
|
1715 |
struct vki_shminfo64 { |
| 1716 |
unsigned long shmmax ; |
|
1716 |
unsigned long shmmax ; |
| 1717 |
unsigned long shmmin ; |
|
1717 |
unsigned long shmmin ; |
| 1718 |
unsigned long shmmni ; |
|
1718 |
unsigned long shmmni ; |
| 1719 |
unsigned long shmseg ; |
|
1719 |
unsigned long shmseg ; |
| 1720 |
unsigned long shmall ; |
|
1720 |
unsigned long shmall ; |
| 1721 |
unsigned long __unused1 ; |
|
1721 |
unsigned long __unused1 ; |
| 1722 |
unsigned long __unused2 ; |
|
1722 |
unsigned long __unused2 ; |
| 1723 |
unsigned long __unused3 ; |
|
1723 |
unsigned long __unused3 ; |
| 1724 |
unsigned long __unused4 ; |
|
1724 |
unsigned long __unused4 ; |
| 1725 |
}; |
|
1725 |
}; |
| 1726 |
struct vki_vm86_regs { |
|
1726 |
struct vki_vm86_regs { |
| 1727 |
long ebx ; |
|
1727 |
long ebx ; |
| 1728 |
long ecx ; |
|
1728 |
long ecx ; |
| 1729 |
long edx ; |
|
1729 |
long edx ; |
| 1730 |
long esi ; |
|
1730 |
long esi ; |
| 1731 |
long edi ; |
|
1731 |
long edi ; |
| 1732 |
long ebp ; |
|
1732 |
long ebp ; |
| 1733 |
long eax ; |
|
1733 |
long eax ; |
| 1734 |
long __null_ds ; |
|
1734 |
long __null_ds ; |
| 1735 |
long __null_es ; |
|
1735 |
long __null_es ; |
| 1736 |
long __null_fs ; |
|
1736 |
long __null_fs ; |
| 1737 |
long __null_gs ; |
|
1737 |
long __null_gs ; |
| 1738 |
long orig_eax ; |
|
1738 |
long orig_eax ; |
| 1739 |
long eip ; |
|
1739 |
long eip ; |
| 1740 |
unsigned short cs ; |
|
1740 |
unsigned short cs ; |
| 1741 |
unsigned short __csh ; |
|
1741 |
unsigned short __csh ; |
| 1742 |
long eflags ; |
|
1742 |
long eflags ; |
| 1743 |
long esp ; |
|
1743 |
long esp ; |
| 1744 |
unsigned short ss ; |
|
1744 |
unsigned short ss ; |
| 1745 |
unsigned short __ssh ; |
|
1745 |
unsigned short __ssh ; |
| 1746 |
unsigned short es ; |
|
1746 |
unsigned short es ; |
| 1747 |
unsigned short __esh ; |
|
1747 |
unsigned short __esh ; |
| 1748 |
unsigned short ds ; |
|
1748 |
unsigned short ds ; |
| 1749 |
unsigned short __dsh ; |
|
1749 |
unsigned short __dsh ; |
| 1750 |
unsigned short fs ; |
|
1750 |
unsigned short fs ; |
| 1751 |
unsigned short __fsh ; |
|
1751 |
unsigned short __fsh ; |
| 1752 |
unsigned short gs ; |
|
1752 |
unsigned short gs ; |
| 1753 |
unsigned short __gsh ; |
|
1753 |
unsigned short __gsh ; |
| 1754 |
}; |
|
1754 |
}; |
| 1755 |
struct vki_revectored_struct { |
|
1755 |
struct vki_revectored_struct { |
| 1756 |
unsigned long __map[8] ; |
|
1756 |
unsigned long __map[8] ; |
| 1757 |
}; |
|
1757 |
}; |
| 1758 |
struct vki_vm86_struct { |
|
1758 |
struct vki_vm86_struct { |
| 1759 |
struct vki_vm86_regs regs ; |
|
1759 |
struct vki_vm86_regs regs ; |
| 1760 |
unsigned long flags ; |
|
1760 |
unsigned long flags ; |
| 1761 |
unsigned long screen_bitmap ; |
|
1761 |
unsigned long screen_bitmap ; |
| 1762 |
unsigned long cpu_type ; |
|
1762 |
unsigned long cpu_type ; |
| 1763 |
struct vki_revectored_struct int_revectored ; |
|
1763 |
struct vki_revectored_struct int_revectored ; |
| 1764 |
struct vki_revectored_struct int21_revectored ; |
|
1764 |
struct vki_revectored_struct int21_revectored ; |
| 1765 |
}; |
|
1765 |
}; |
| 1766 |
struct vki_vm86plus_info_struct { |
|
1766 |
struct vki_vm86plus_info_struct { |
| 1767 |
unsigned long force_return_for_pic : 1 ; |
|
1767 |
unsigned long force_return_for_pic : 1 ; |
| 1768 |
unsigned long vm86dbg_active : 1 ; |
|
1768 |
unsigned long vm86dbg_active : 1 ; |
| 1769 |
unsigned long vm86dbg_TFpendig : 1 ; |
|
1769 |
unsigned long vm86dbg_TFpendig : 1 ; |
| 1770 |
unsigned long unused : 28 ; |
|
1770 |
unsigned long unused : 28 ; |
| 1771 |
unsigned long is_vm86pus : 1 ; |
|
1771 |
unsigned long is_vm86pus : 1 ; |
| 1772 |
unsigned char vm86dbg_intxxtab[32] ; |
|
1772 |
unsigned char vm86dbg_intxxtab[32] ; |
| 1773 |
}; |
|
1773 |
}; |
| 1774 |
struct vki_vm86plus_struct { |
|
1774 |
struct vki_vm86plus_struct { |
| 1775 |
struct vki_vm86_regs regs ; |
|
1775 |
struct vki_vm86_regs regs ; |
| 1776 |
unsigned long flags ; |
|
1776 |
unsigned long flags ; |
| 1777 |
unsigned long screen_bitmap ; |
|
1777 |
unsigned long screen_bitmap ; |
| 1778 |
unsigned long cpu_type ; |
|
1778 |
unsigned long cpu_type ; |
| 1779 |
struct vki_revectored_struct int_revectored ; |
|
1779 |
struct vki_revectored_struct int_revectored ; |
| 1780 |
struct vki_revectored_struct int21_revectored ; |
|
1780 |
struct vki_revectored_struct int21_revectored ; |
| 1781 |
struct vki_vm86plus_info_struct vm86plus ; |
|
1781 |
struct vki_vm86plus_info_struct vm86plus ; |
| 1782 |
}; |
|
1782 |
}; |
| 1783 |
typedef __vki_s32 vki_int32_t; |
|
1783 |
typedef __vki_s32 vki_int32_t; |
| 1784 |
typedef __vki_u8 vki_uint8_t; |
|
1784 |
typedef __vki_u8 vki_uint8_t; |
| 1785 |
typedef __vki_u16 vki_uint16_t; |
|
1785 |
typedef __vki_u16 vki_uint16_t; |
| 1786 |
typedef __vki_u32 vki_uint32_t; |
|
1786 |
typedef __vki_u32 vki_uint32_t; |
| 1787 |
struct vki_sysinfo { |
|
1787 |
struct vki_sysinfo { |
| 1788 |
long uptime ; |
|
1788 |
long uptime ; |
| 1789 |
unsigned long loads[3] ; |
|
1789 |
unsigned long loads[3] ; |
| 1790 |
unsigned long totalram ; |
|
1790 |
unsigned long totalram ; |
| 1791 |
unsigned long freeram ; |
|
1791 |
unsigned long freeram ; |
| 1792 |
unsigned long sharedram ; |
|
1792 |
unsigned long sharedram ; |
| 1793 |
unsigned long bufferram ; |
|
1793 |
unsigned long bufferram ; |
| 1794 |
unsigned long totalswap ; |
|
1794 |
unsigned long totalswap ; |
| 1795 |
unsigned long freeswap ; |
|
1795 |
unsigned long freeswap ; |
| 1796 |
unsigned short procs ; |
|
1796 |
unsigned short procs ; |
| 1797 |
unsigned short pad ; |
|
1797 |
unsigned short pad ; |
| 1798 |
unsigned long totalhigh ; |
|
1798 |
unsigned long totalhigh ; |
| 1799 |
unsigned long freehigh ; |
|
1799 |
unsigned long freehigh ; |
| 1800 |
unsigned int mem_unit ; |
|
1800 |
unsigned int mem_unit ; |
| 1801 |
char _f[(20U - 2U * sizeof(long )) - sizeof(int )] ; |
|
1801 |
char _f[(20U - 2U * sizeof(long )) - sizeof(int )] ; |
| 1802 |
}; |
|
1802 |
}; |
| 1803 |
struct vki_timespec { |
|
1803 |
struct vki_timespec { |
| 1804 |
vki_time_t tv_sec ; |
|
1804 |
vki_time_t tv_sec ; |
| 1805 |
long tv_nsec ; |
|
1805 |
long tv_nsec ; |
| 1806 |
}; |
|
1806 |
}; |
| 1807 |
struct vki_timeval { |
|
1807 |
struct vki_timeval { |
| 1808 |
vki_time_t tv_sec ; |
|
1808 |
vki_time_t tv_sec ; |
| 1809 |
vki_suseconds_t tv_usec ; |
|
1809 |
vki_suseconds_t tv_usec ; |
| 1810 |
}; |
|
1810 |
}; |
| 1811 |
struct vki_timezone { |
|
1811 |
struct vki_timezone { |
| 1812 |
int tz_minuteswest ; |
|
1812 |
int tz_minuteswest ; |
| 1813 |
int tz_dsttime ; |
|
1813 |
int tz_dsttime ; |
| 1814 |
}; |
|
1814 |
}; |
| 1815 |
struct vki_itimerspec { |
|
1815 |
struct vki_itimerspec { |
| 1816 |
struct vki_timespec it_interval ; |
|
1816 |
struct vki_timespec it_interval ; |
| 1817 |
struct vki_timespec it_value ; |
|
1817 |
struct vki_timespec it_value ; |
| 1818 |
}; |
|
1818 |
}; |
| 1819 |
struct vki_itimerval { |
|
1819 |
struct vki_itimerval { |
| 1820 |
struct vki_timeval it_interval ; |
|
1820 |
struct vki_timeval it_interval ; |
| 1821 |
struct vki_timeval it_value ; |
|
1821 |
struct vki_timeval it_value ; |
| 1822 |
}; |
|
1822 |
}; |
| 1823 |
struct vki_timex { |
|
1823 |
struct vki_timex { |
| 1824 |
unsigned int modes ; |
|
1824 |
unsigned int modes ; |
| 1825 |
long offset ; |
|
1825 |
long offset ; |
| 1826 |
long freq ; |
|
1826 |
long freq ; |
| 1827 |
long maxerror ; |
|
1827 |
long maxerror ; |
| 1828 |
long esterror ; |
|
1828 |
long esterror ; |
| 1829 |
int status ; |
|
1829 |
int status ; |
| 1830 |
long constant ; |
|
1830 |
long constant ; |
| 1831 |
long precision ; |
|
1831 |
long precision ; |
| 1832 |
long tolerance ; |
|
1832 |
long tolerance ; |
| 1833 |
struct vki_timeval time ; |
|
1833 |
struct vki_timeval time ; |
| 1834 |
long tick ; |
|
1834 |
long tick ; |
| 1835 |
long ppsfreq ; |
|
1835 |
long ppsfreq ; |
| 1836 |
long jitter ; |
|
1836 |
long jitter ; |
| 1837 |
int shift ; |
|
1837 |
int shift ; |
| 1838 |
long stabil ; |
|
1838 |
long stabil ; |
| 1839 |
long jitcnt ; |
|
1839 |
long jitcnt ; |
| 1840 |
long calcnt ; |
|
1840 |
long calcnt ; |
| 1841 |
long errcnt ; |
|
1841 |
long errcnt ; |
| 1842 |
long stbcnt ; |
|
1842 |
long stbcnt ; |
| 1843 |
int : 32 ; |
|
1843 |
int : 32 ; |
| 1844 |
int : 32 ; |
|
1844 |
int : 32 ; |
| 1845 |
int : 32 ; |
|
1845 |
int : 32 ; |
| 1846 |
int : 32 ; |
|
1846 |
int : 32 ; |
| 1847 |
int : 32 ; |
|
1847 |
int : 32 ; |
| 1848 |
int : 32 ; |
|
1848 |
int : 32 ; |
| 1849 |
int : 32 ; |
|
1849 |
int : 32 ; |
| 1850 |
int : 32 ; |
|
1850 |
int : 32 ; |
| 1851 |
int : 32 ; |
|
1851 |
int : 32 ; |
| 1852 |
int : 32 ; |
|
1852 |
int : 32 ; |
| 1853 |
int : 32 ; |
|
1853 |
int : 32 ; |
| 1854 |
int : 32 ; |
|
1854 |
int : 32 ; |
| 1855 |
}; |
|
1855 |
}; |
| 1856 |
struct vki_tms { |
|
1856 |
struct vki_tms { |
| 1857 |
vki_clock_t tms_utime ; |
|
1857 |
vki_clock_t tms_utime ; |
| 1858 |
vki_clock_t tms_stime ; |
|
1858 |
vki_clock_t tms_stime ; |
| 1859 |
vki_clock_t tms_cutime ; |
|
1859 |
vki_clock_t tms_cutime ; |
| 1860 |
vki_clock_t tms_cstime ; |
|
1860 |
vki_clock_t tms_cstime ; |
| 1861 |
}; |
|
1861 |
}; |
| 1862 |
struct vki_utimbuf { |
|
1862 |
struct vki_utimbuf { |
| 1863 |
vki_time_t actime ; |
|
1863 |
vki_time_t actime ; |
| 1864 |
vki_time_t modtime ; |
|
1864 |
vki_time_t modtime ; |
| 1865 |
}; |
|
1865 |
}; |
| 1866 |
struct vki_sched_param { |
|
1866 |
struct vki_sched_param { |
| 1867 |
int sched_priority ; |
|
1867 |
int sched_priority ; |
| 1868 |
}; |
|
1868 |
}; |
| 1869 |
union vki_sigval { |
|
1869 |
union vki_sigval { |
| 1870 |
int sival_int ; |
|
1870 |
int sival_int ; |
| 1871 |
void *sival_ptr ; |
|
1871 |
void *sival_ptr ; |
| 1872 |
}; |
|
1872 |
}; |
| 1873 |
typedef union vki_sigval vki_sigval_t; |
|
1873 |
typedef union vki_sigval vki_sigval_t; |
| 1874 |
struct __anonstruct__kill_77 { |
|
1874 |
struct __anonstruct__kill_77 { |
| 1875 |
vki_pid_t _pid ; |
|
1875 |
vki_pid_t _pid ; |
| 1876 |
vki_uid_t _uid ; |
|
1876 |
vki_uid_t _uid ; |
| 1877 |
}; |
|
1877 |
}; |
| 1878 |
struct __anonstruct__timer_78 { |
|
1878 |
struct __anonstruct__timer_78 { |
| 1879 |
vki_timer_t _tid ; |
|
1879 |
vki_timer_t _tid ; |
| 1880 |
int _overrun ; |
|
1880 |
int _overrun ; |
| 1881 |
char _pad[sizeof(vki_uid_t ) - sizeof(int )] ; |
|
1881 |
char _pad[sizeof(vki_uid_t ) - sizeof(int )] ; |
| 1882 |
vki_sigval_t _sigval ; |
|
1882 |
vki_sigval_t _sigval ; |
| 1883 |
int _sys_private ; |
|
1883 |
int _sys_private ; |
| 1884 |
}; |
|
1884 |
}; |
| 1885 |
struct __anonstruct__rt_79 { |
|
1885 |
struct __anonstruct__rt_79 { |
| 1886 |
vki_pid_t _pid ; |
|
1886 |
vki_pid_t _pid ; |
| 1887 |
vki_uid_t _uid ; |
|
1887 |
vki_uid_t _uid ; |
| 1888 |
vki_sigval_t _sigval ; |
|
1888 |
vki_sigval_t _sigval ; |
| 1889 |
}; |
|
1889 |
}; |
| 1890 |
struct __anonstruct__sigchld_80 { |
|
1890 |
struct __anonstruct__sigchld_80 { |
| 1891 |
vki_pid_t _pid ; |
|
1891 |
vki_pid_t _pid ; |
| 1892 |
vki_uid_t _uid ; |
|
1892 |
vki_uid_t _uid ; |
| 1893 |
int _status ; |
|
1893 |
int _status ; |
| 1894 |
vki_clock_t _utime ; |
|
1894 |
vki_clock_t _utime ; |
| 1895 |
vki_clock_t _stime ; |
|
1895 |
vki_clock_t _stime ; |
| 1896 |
}; |
|
1896 |
}; |
| 1897 |
struct __anonstruct__sigfault_81 { |
|
1897 |
struct __anonstruct__sigfault_81 { |
| 1898 |
void *_addr ; |
|
1898 |
void *_addr ; |
| 1899 |
}; |
|
1899 |
}; |
| 1900 |
struct __anonstruct__sigpoll_82 { |
|
1900 |
struct __anonstruct__sigpoll_82 { |
| 1901 |
long _band ; |
|
1901 |
long _band ; |
| 1902 |
int _fd ; |
|
1902 |
int _fd ; |
| 1903 |
}; |
|
1903 |
}; |
| 1904 |
union __anonunion__sifields_76 { |
|
1904 |
union __anonunion__sifields_76 { |
| 1905 |
int _pad[(128U - 3U * sizeof(int )) / sizeof(int )] ; |
|
1905 |
int _pad[(128U - 3U * sizeof(int )) / sizeof(int )] ; |
| 1906 |
struct __anonstruct__kill_77 _kill ; |
|
1906 |
struct __anonstruct__kill_77 _kill ; |
| 1907 |
struct __anonstruct__timer_78 _timer ; |
|
1907 |
struct __anonstruct__timer_78 _timer ; |
| 1908 |
struct __anonstruct__rt_79 _rt ; |
|
1908 |
struct __anonstruct__rt_79 _rt ; |
| 1909 |
struct __anonstruct__sigchld_80 _sigchld ; |
|
1909 |
struct __anonstruct__sigchld_80 _sigchld ; |
| 1910 |
struct __anonstruct__sigfault_81 _sigfault ; |
|
1910 |
struct __anonstruct__sigfault_81 _sigfault ; |
| 1911 |
struct __anonstruct__sigpoll_82 _sigpoll ; |
|
1911 |
struct __anonstruct__sigpoll_82 _sigpoll ; |
| 1912 |
}; |
|
1912 |
}; |
| 1913 |
struct vki_siginfo { |
|
1913 |
struct vki_siginfo { |
| 1914 |
int si_signo ; |
|
1914 |
int si_signo ; |
| 1915 |
int si_errno ; |
|
1915 |
int si_errno ; |
| 1916 |
int si_code ; |
|
1916 |
int si_code ; |
| 1917 |
union __anonunion__sifields_76 _sifields ; |
|
1917 |
union __anonunion__sifields_76 _sifields ; |
| 1918 |
}; |
|
1918 |
}; |
| 1919 |
typedef struct vki_siginfo vki_siginfo_t; |
|
1919 |
typedef struct vki_siginfo vki_siginfo_t; |
| 1920 |
struct __anonstruct__sigev_thread_84 { |
|
1920 |
struct __anonstruct__sigev_thread_84 { |
| 1921 |
void (*_function)(vki_sigval_t ) ; |
|
1921 |
void (*_function)(vki_sigval_t ) ; |
| 1922 |
void *_attribute ; |
|
1922 |
void *_attribute ; |
| 1923 |
}; |
|
1923 |
}; |
| 1924 |
union __anonunion__sigev_un_83 { |
|
1924 |
union __anonunion__sigev_un_83 { |
| 1925 |
int _pad[(64U - (sizeof(int ) * 2U + sizeof(vki_sigval_t ))) / sizeof(int )] ; |
|
1925 |
int _pad[(64U - (sizeof(int ) * 2U + sizeof(vki_sigval_t ))) / sizeof(int )] ; |
| 1926 |
int _tid ; |
|
1926 |
int _tid ; |
| 1927 |
struct __anonstruct__sigev_thread_84 _sigev_thread ; |
|
1927 |
struct __anonstruct__sigev_thread_84 _sigev_thread ; |
| 1928 |
}; |
|
1928 |
}; |
| 1929 |
struct vki_sigevent { |
|
1929 |
struct vki_sigevent { |
| 1930 |
vki_sigval_t sigev_value ; |
|
1930 |
vki_sigval_t sigev_value ; |
| 1931 |
int sigev_signo ; |
|
1931 |
int sigev_signo ; |
| 1932 |
int sigev_notify ; |
|
1932 |
int sigev_notify ; |
| 1933 |
union __anonunion__sigev_un_83 _sigev_un ; |
|
1933 |
union __anonunion__sigev_un_83 _sigev_un ; |
| 1934 |
}; |
|
1934 |
}; |
| 1935 |
typedef struct vki_sigevent vki_sigevent_t; |
|
1935 |
typedef struct vki_sigevent vki_sigevent_t; |
| 1936 |
enum vki_sock_type { |
|
1936 |
enum vki_sock_type { |
| 1937 |
VKI_SOCK_STREAM = 1 |
|
1937 |
VKI_SOCK_STREAM = 1 |
| 1938 |
} ; |
|
1938 |
} ; |
| 1939 |
struct vki_iovec { |
|
1939 |
struct vki_iovec { |
| 1940 |
void *iov_base ; |
|
1940 |
void *iov_base ; |
| 1941 |
__vki_kernel_size_t iov_len ; |
|
1941 |
__vki_kernel_size_t iov_len ; |
| 1942 |
}; |
|
1942 |
}; |
| 1943 |
typedef unsigned short vki_sa_family_t; |
|
1943 |
typedef unsigned short vki_sa_family_t; |
| 1944 |
struct vki_sockaddr { |
|
1944 |
struct vki_sockaddr { |
| 1945 |
vki_sa_family_t sa_family ; |
|
1945 |
vki_sa_family_t sa_family ; |
| 1946 |
char sa_data[14] ; |
|
1946 |
char sa_data[14] ; |
| 1947 |
}; |
|
1947 |
}; |
| 1948 |
struct vki_msghdr { |
|
1948 |
struct vki_msghdr { |
| 1949 |
void *msg_name ; |
|
1949 |
void *msg_name ; |
| 1950 |
int msg_namelen ; |
|
1950 |
int msg_namelen ; |
| 1951 |
struct vki_iovec *msg_iov ; |
|
1951 |
struct vki_iovec *msg_iov ; |
| 1952 |
__vki_kernel_size_t msg_iovlen ; |
|
1952 |
__vki_kernel_size_t msg_iovlen ; |
| 1953 |
void *msg_control ; |
|
1953 |
void *msg_control ; |
| 1954 |
__vki_kernel_size_t msg_controllen ; |
|
1954 |
__vki_kernel_size_t msg_controllen ; |
| 1955 |
unsigned int msg_flags ; |
|
1955 |
unsigned int msg_flags ; |
| 1956 |
}; |
|
1956 |
}; |
| 1957 |
struct vki_cmsghdr { |
|
1957 |
struct vki_cmsghdr { |
| 1958 |
__vki_kernel_size_t cmsg_len ; |
|
1958 |
__vki_kernel_size_t cmsg_len ; |
| 1959 |
int cmsg_level ; |
|
1959 |
int cmsg_level ; |
| 1960 |
int cmsg_type ; |
|
1960 |
int cmsg_type ; |
| 1961 |
}; |
|
1961 |
}; |
| 1962 |
struct vki_in_addr { |
|
1962 |
struct vki_in_addr { |
| 1963 |
__vki_u32 s_addr ; |
|
1963 |
__vki_u32 s_addr ; |
| 1964 |
}; |
|
1964 |
}; |
| 1965 |
struct vki_sockaddr_in { |
|
1965 |
struct vki_sockaddr_in { |
| 1966 |
vki_sa_family_t sin_family ; |
|
1966 |
vki_sa_family_t sin_family ; |
| 1967 |
unsigned short sin_port ; |
|
1967 |
unsigned short sin_port ; |
| 1968 |
struct vki_in_addr sin_addr ; |
|
1968 |
struct vki_in_addr sin_addr ; |
| 1969 |
unsigned char __pad[((16U - sizeof(short )) - sizeof(unsigned short )) - sizeof(struct vki_in_addr )] ; |
|
1969 |
unsigned char __pad[((16U - sizeof(short )) - sizeof(unsigned short )) - sizeof(struct vki_in_addr )] ; |
| 1970 |
}; |
|
1970 |
}; |
| 1971 |
union __anonunion_vki_in6_u_85 { |
|
1971 |
union __anonunion_vki_in6_u_85 { |
| 1972 |
__vki_u8 u6_addr8[16] ; |
|
1972 |
__vki_u8 u6_addr8[16] ; |
| 1973 |
__vki_u16 u6_addr16[8] ; |
|
1973 |
__vki_u16 u6_addr16[8] ; |
| 1974 |
__vki_u32 u6_addr32[4] ; |
|
1974 |
__vki_u32 u6_addr32[4] ; |
| 1975 |
}; |
|
1975 |
}; |
| 1976 |
struct vki_in6_addr { |
|
1976 |
struct vki_in6_addr { |
| 1977 |
union __anonunion_vki_in6_u_85 vki_in6_u ; |
|
1977 |
union __anonunion_vki_in6_u_85 vki_in6_u ; |
| 1978 |
}; |
|
1978 |
}; |
| 1979 |
struct vki_sockaddr_in6 { |
|
1979 |
struct vki_sockaddr_in6 { |
| 1980 |
unsigned short sin6_family ; |
|
1980 |
unsigned short sin6_family ; |
| 1981 |
__vki_u16 sin6_port ; |
|
1981 |
__vki_u16 sin6_port ; |
| 1982 |
__vki_u32 sin6_flowinfo ; |
|
1982 |
__vki_u32 sin6_flowinfo ; |
| 1983 |
struct vki_in6_addr sin6_addr ; |
|
1983 |
struct vki_in6_addr sin6_addr ; |
| 1984 |
__vki_u32 sin6_scope_id ; |
|
1984 |
__vki_u32 sin6_scope_id ; |
| 1985 |
}; |
|
1985 |
}; |
| 1986 |
struct vki_sockaddr_un { |
|
1986 |
struct vki_sockaddr_un { |
| 1987 |
vki_sa_family_t sun_family ; |
|
1987 |
vki_sa_family_t sun_family ; |
| 1988 |
char sun_path[108] ; |
|
1988 |
char sun_path[108] ; |
| 1989 |
}; |
|
1989 |
}; |
| 1990 |
struct vki_ifmap { |
|
1990 |
struct vki_ifmap { |
| 1991 |
unsigned long mem_start ; |
|
1991 |
unsigned long mem_start ; |
| 1992 |
unsigned long mem_end ; |
|
1992 |
unsigned long mem_end ; |
| 1993 |
unsigned short base_addr ; |
|
1993 |
unsigned short base_addr ; |
| 1994 |
unsigned char irq ; |
|
1994 |
unsigned char irq ; |
| 1995 |
unsigned char dma ; |
|
1995 |
unsigned char dma ; |
| 1996 |
unsigned char port ; |
|
1996 |
unsigned char port ; |
| 1997 |
}; |
|
1997 |
}; |
| 1998 |
union __anonunion_ifs_ifsu_86 { |
|
1998 |
union __anonunion_ifs_ifsu_86 { |
| 1999 |
void *raw_hdlc ; |
|
1999 |
void *raw_hdlc ; |
| 2000 |
void *cisco ; |
|
2000 |
void *cisco ; |
| 2001 |
void *fr ; |
|
2001 |
void *fr ; |
| 2002 |
void *fr_pvc ; |
|
2002 |
void *fr_pvc ; |
| 2003 |
void *fr_pvc_info ; |
|
2003 |
void *fr_pvc_info ; |
| 2004 |
void *sync ; |
|
2004 |
void *sync ; |
| 2005 |
void *te1 ; |
|
2005 |
void *te1 ; |
| 2006 |
}; |
|
2006 |
}; |
| 2007 |
struct vki_if_settings { |
|
2007 |
struct vki_if_settings { |
| 2008 |
unsigned int type ; |
|
2008 |
unsigned int type ; |
| 2009 |
unsigned int size ; |
|
2009 |
unsigned int size ; |
| 2010 |
union __anonunion_ifs_ifsu_86 ifs_ifsu ; |
|
2010 |
union __anonunion_ifs_ifsu_86 ifs_ifsu ; |
| 2011 |
}; |
|
2011 |
}; |
| 2012 |
union __anonunion_ifr_ifrn_87 { |
|
2012 |
union __anonunion_ifr_ifrn_87 { |
| 2013 |
char ifrn_name[16] ; |
|
2013 |
char ifrn_name[16] ; |
| 2014 |
}; |
|
2014 |
}; |
| 2015 |
union __anonunion_ifr_ifru_88 { |
|
2015 |
union __anonunion_ifr_ifru_88 { |
| 2016 |
struct vki_sockaddr ifru_addr ; |
|
2016 |
struct vki_sockaddr ifru_addr ; |
| 2017 |
struct vki_sockaddr ifru_dstaddr ; |
|
2017 |
struct vki_sockaddr ifru_dstaddr ; |
| 2018 |
struct vki_sockaddr ifru_broadaddr ; |
|
2018 |
struct vki_sockaddr ifru_broadaddr ; |
| 2019 |
struct vki_sockaddr ifru_netmask ; |
|
2019 |
struct vki_sockaddr ifru_netmask ; |
| 2020 |
struct vki_sockaddr ifru_hwaddr ; |
|
2020 |
struct vki_sockaddr ifru_hwaddr ; |
| 2021 |
short ifru_flags ; |
|
2021 |
short ifru_flags ; |
| 2022 |
int ifru_ivalue ; |
|
2022 |
int ifru_ivalue ; |
| 2023 |
int ifru_mtu ; |
|
2023 |
int ifru_mtu ; |
| 2024 |
struct vki_ifmap ifru_map ; |
|
2024 |
struct vki_ifmap ifru_map ; |
| 2025 |
char ifru_slave[16] ; |
|
2025 |
char ifru_slave[16] ; |
| 2026 |
char ifru_newname[16] ; |
|
2026 |
char ifru_newname[16] ; |
| 2027 |
void *ifru_data ; |
|
2027 |
void *ifru_data ; |
| 2028 |
struct vki_if_settings ifru_settings ; |
|
2028 |
struct vki_if_settings ifru_settings ; |
| 2029 |
}; |
|
2029 |
}; |
| 2030 |
struct vki_ifreq { |
|
2030 |
struct vki_ifreq { |
| 2031 |
union __anonunion_ifr_ifrn_87 ifr_ifrn ; |
|
2031 |
union __anonunion_ifr_ifrn_87 ifr_ifrn ; |
| 2032 |
union __anonunion_ifr_ifru_88 ifr_ifru ; |
|
2032 |
union __anonunion_ifr_ifru_88 ifr_ifru ; |
| 2033 |
}; |
|
2033 |
}; |
| 2034 |
union __anonunion_ifc_ifcu_89 { |
|
2034 |
union __anonunion_ifc_ifcu_89 { |
| 2035 |
char *ifcu_buf ; |
|
2035 |
char *ifcu_buf ; |
| 2036 |
struct vki_ifreq *ifcu_req ; |
|
2036 |
struct vki_ifreq *ifcu_req ; |
| 2037 |
}; |
|
2037 |
}; |
| 2038 |
struct vki_ifconf { |
|
2038 |
struct vki_ifconf { |
| 2039 |
int ifc_len ; |
|
2039 |
int ifc_len ; |
| 2040 |
union __anonunion_ifc_ifcu_89 ifc_ifcu ; |
|
2040 |
union __anonunion_ifc_ifcu_89 ifc_ifcu ; |
| 2041 |
}; |
|
2041 |
}; |
| 2042 |
struct vki_arpreq { |
|
2042 |
struct vki_arpreq { |
| 2043 |
struct vki_sockaddr arp_pa ; |
|
2043 |
struct vki_sockaddr arp_pa ; |
| 2044 |
struct vki_sockaddr arp_ha ; |
|
2044 |
struct vki_sockaddr arp_ha ; |
| 2045 |
int arp_flags ; |
|
2045 |
int arp_flags ; |
| 2046 |
struct vki_sockaddr arp_netmask ; |
|
2046 |
struct vki_sockaddr arp_netmask ; |
| 2047 |
char arp_dev[16] ; |
|
2047 |
char arp_dev[16] ; |
| 2048 |
}; |
|
2048 |
}; |
| 2049 |
struct vki_rtentry { |
|
2049 |
struct vki_rtentry { |
| 2050 |
unsigned long rt_pad1 ; |
|
2050 |
unsigned long rt_pad1 ; |
| 2051 |
struct vki_sockaddr rt_dst ; |
|
2051 |
struct vki_sockaddr rt_dst ; |
| 2052 |
struct vki_sockaddr rt_gateway ; |
|
2052 |
struct vki_sockaddr rt_gateway ; |
| 2053 |
struct vki_sockaddr rt_genmask ; |
|
2053 |
struct vki_sockaddr rt_genmask ; |
| 2054 |
unsigned short rt_flags ; |
|
2054 |
unsigned short rt_flags ; |
| 2055 |
short rt_pad2 ; |
|
2055 |
short rt_pad2 ; |
| 2056 |
unsigned long rt_pad3 ; |
|
2056 |
unsigned long rt_pad3 ; |
| 2057 |
void *rt_pad4 ; |
|
2057 |
void *rt_pad4 ; |
| 2058 |
short rt_metric ; |
|
2058 |
short rt_metric ; |
| 2059 |
char *rt_dev ; |
|
2059 |
char *rt_dev ; |
| 2060 |
unsigned long rt_mtu ; |
|
2060 |
unsigned long rt_mtu ; |
| 2061 |
unsigned long rt_window ; |
|
2061 |
unsigned long rt_window ; |
| 2062 |
unsigned short rt_irtt ; |
|
2062 |
unsigned short rt_irtt ; |
| 2063 |
}; |
|
2063 |
}; |
| 2064 |
typedef __vki_s32 vki_sctp_assoc_t; |
|
2064 |
typedef __vki_s32 vki_sctp_assoc_t; |
| 2065 |
enum vki_sctp_optname { |
|
2065 |
enum vki_sctp_optname { |
| 2066 |
VKI_SCTP_RTOINFO = 0, |
|
2066 |
VKI_SCTP_RTOINFO = 0, |
| 2067 |
VKI_SCTP_ASSOCINFO = 1, |
|
2067 |
VKI_SCTP_ASSOCINFO = 1, |
| 2068 |
VKI_SCTP_INITMSG = 2, |
|
2068 |
VKI_SCTP_INITMSG = 2, |
| 2069 |
VKI_SCTP_NODELAY = 3, |
|
2069 |
VKI_SCTP_NODELAY = 3, |
| 2070 |
VKI_SCTP_AUTOCLOSE = 4, |
|
2070 |
VKI_SCTP_AUTOCLOSE = 4, |
| 2071 |
VKI_SCTP_SET_PEER_PRIMARY_ADDR = 5, |
|
2071 |
VKI_SCTP_SET_PEER_PRIMARY_ADDR = 5, |
| 2072 |
VKI_SCTP_PRIMARY_ADDR = 6, |
|
2072 |
VKI_SCTP_PRIMARY_ADDR = 6, |
| 2073 |
VKI_SCTP_ADAPTION_LAYER = 7, |
|
2073 |
VKI_SCTP_ADAPTION_LAYER = 7, |
| 2074 |
VKI_SCTP_DISABLE_FRAGMENTS = 8, |
|
2074 |
VKI_SCTP_DISABLE_FRAGMENTS = 8, |
| 2075 |
VKI_SCTP_PEER_ADDR_PARAMS = 9, |
|
2075 |
VKI_SCTP_PEER_ADDR_PARAMS = 9, |
| 2076 |
VKI_SCTP_DEFAULT_SEND_PARAM = 10, |
|
2076 |
VKI_SCTP_DEFAULT_SEND_PARAM = 10, |
| 2077 |
VKI_SCTP_EVENTS = 11, |
|
2077 |
VKI_SCTP_EVENTS = 11, |
| 2078 |
VKI_SCTP_I_WANT_MAPPED_V4_ADDR = 12, |
|
2078 |
VKI_SCTP_I_WANT_MAPPED_V4_ADDR = 12, |
| 2079 |
VKI_SCTP_MAXSEG = 13, |
|
2079 |
VKI_SCTP_MAXSEG = 13, |
| 2080 |
VKI_SCTP_STATUS = 14, |
|
2080 |
VKI_SCTP_STATUS = 14, |
| 2081 |
VKI_SCTP_GET_PEER_ADDR_INFO = 15, |
|
2081 |
VKI_SCTP_GET_PEER_ADDR_INFO = 15, |
| 2082 |
VKI_SCTP_SOCKOPT_BINDX_ADD = 100, |
|
2082 |
VKI_SCTP_SOCKOPT_BINDX_ADD = 100, |
| 2083 |
VKI_SCTP_SOCKOPT_BINDX_REM = 101, |
|
2083 |
VKI_SCTP_SOCKOPT_BINDX_REM = 101, |
| 2084 |
VKI_SCTP_SOCKOPT_PEELOFF = 102, |
|
2084 |
VKI_SCTP_SOCKOPT_PEELOFF = 102, |
| 2085 |
VKI_SCTP_GET_PEER_ADDRS_NUM = 103, |
|
2085 |
VKI_SCTP_GET_PEER_ADDRS_NUM = 103, |
| 2086 |
VKI_SCTP_GET_PEER_ADDRS = 104, |
|
2086 |
VKI_SCTP_GET_PEER_ADDRS = 104, |
| 2087 |
VKI_SCTP_GET_LOCAL_ADDRS_NUM = 105, |
|
2087 |
VKI_SCTP_GET_LOCAL_ADDRS_NUM = 105, |
| 2088 |
VKI_SCTP_GET_LOCAL_ADDRS = 106, |
|
2088 |
VKI_SCTP_GET_LOCAL_ADDRS = 106, |
| 2089 |
VKI_SCTP_SOCKOPT_CONNECTX = 107 |
|
2089 |
VKI_SCTP_SOCKOPT_CONNECTX = 107 |
| 2090 |
} ; |
|
2090 |
} ; |
| 2091 |
struct vki_sctp_getaddrs { |
|
2091 |
struct vki_sctp_getaddrs { |
| 2092 |
vki_sctp_assoc_t assoc_id ; |
|
2092 |
vki_sctp_assoc_t assoc_id ; |
| 2093 |
int addr_num ; |
|
2093 |
int addr_num ; |
| 2094 |
struct vki_sockaddr *addrs ; |
|
2094 |
struct vki_sockaddr *addrs ; |
| 2095 |
}; |
|
2095 |
}; |
| 2096 |
struct vki_rusage { |
|
2096 |
struct vki_rusage { |
| 2097 |
struct vki_timeval ru_utime ; |
|
2097 |
struct vki_timeval ru_utime ; |
| 2098 |
struct vki_timeval ru_stime ; |
|
2098 |
struct vki_timeval ru_stime ; |
| 2099 |
long ru_maxrss ; |
|
2099 |
long ru_maxrss ; |
| 2100 |
long ru_ixrss ; |
|
2100 |
long ru_ixrss ; |
| 2101 |
long ru_idrss ; |
|
2101 |
long ru_idrss ; |
| 2102 |
long ru_isrss ; |
|
2102 |
long ru_isrss ; |
| 2103 |
long ru_minflt ; |
|
2103 |
long ru_minflt ; |
| 2104 |
long ru_majflt ; |
|
2104 |
long ru_majflt ; |
| 2105 |
long ru_nswap ; |
|
2105 |
long ru_nswap ; |
| 2106 |
long ru_inblock ; |
|
2106 |
long ru_inblock ; |
| 2107 |
long ru_oublock ; |
|
2107 |
long ru_oublock ; |
| 2108 |
long ru_msgsnd ; |
|
2108 |
long ru_msgsnd ; |
| 2109 |
long ru_msgrcv ; |
|
2109 |
long ru_msgrcv ; |
| 2110 |
long ru_nsignals ; |
|
2110 |
long ru_nsignals ; |
| 2111 |
long ru_nvcsw ; |
|
2111 |
long ru_nvcsw ; |
| 2112 |
long ru_nivcsw ; |
|
2112 |
long ru_nivcsw ; |
| 2113 |
}; |
|
2113 |
}; |
| 2114 |
struct vki_rlimit { |
|
2114 |
struct vki_rlimit { |
| 2115 |
unsigned long rlim_cur ; |
|
2115 |
unsigned long rlim_cur ; |
| 2116 |
unsigned long rlim_max ; |
|
2116 |
unsigned long rlim_max ; |
| 2117 |
}; |
|
2117 |
}; |
| 2118 |
struct vki_rlimit64 { |
|
2118 |
struct vki_rlimit64 { |
| 2119 |
__vki_u64 rlim_cur ; |
|
2119 |
__vki_u64 rlim_cur ; |
| 2120 |
__vki_u64 rlim_max ; |
|
2120 |
__vki_u64 rlim_max ; |
| 2121 |
}; |
|
2121 |
}; |
| 2122 |
struct vki_elf_siginfo { |
|
2122 |
struct vki_elf_siginfo { |
| 2123 |
int si_signo ; |
|
2123 |
int si_signo ; |
| 2124 |
int si_code ; |
|
2124 |
int si_code ; |
| 2125 |
int si_errno ; |
|
2125 |
int si_errno ; |
| 2126 |
}; |
|
2126 |
}; |
| 2127 |
struct vki_elf_prstatus { |
|
2127 |
struct vki_elf_prstatus { |
| 2128 |
struct vki_elf_siginfo pr_info ; |
|
2128 |
struct vki_elf_siginfo pr_info ; |
| 2129 |
short pr_cursig ; |
|
2129 |
short pr_cursig ; |
| 2130 |
unsigned long pr_sigpend ; |
|
2130 |
unsigned long pr_sigpend ; |
| 2131 |
unsigned long pr_sighold ; |
|
2131 |
unsigned long pr_sighold ; |
| 2132 |
vki_pid_t pr_pid ; |
|
2132 |
vki_pid_t pr_pid ; |
| 2133 |
vki_pid_t pr_ppid ; |
|
2133 |
vki_pid_t pr_ppid ; |
| 2134 |
vki_pid_t pr_pgrp ; |
|
2134 |
vki_pid_t pr_pgrp ; |
| 2135 |
vki_pid_t pr_sid ; |
|
2135 |
vki_pid_t pr_sid ; |
| 2136 |
struct vki_timeval pr_utime ; |
|
2136 |
struct vki_timeval pr_utime ; |
| 2137 |
struct vki_timeval pr_stime ; |
|
2137 |
struct vki_timeval pr_stime ; |
| 2138 |
struct vki_timeval pr_cutime ; |
|
2138 |
struct vki_timeval pr_cutime ; |
| 2139 |
struct vki_timeval pr_cstime ; |
|
2139 |
struct vki_timeval pr_cstime ; |
| 2140 |
vki_elf_gregset_t pr_reg ; |
|
2140 |
vki_elf_gregset_t pr_reg ; |
| 2141 |
int pr_fpvalid ; |
|
2141 |
int pr_fpvalid ; |
| 2142 |
}; |
|
2142 |
}; |
| 2143 |
struct vki_elf_prpsinfo { |
|
2143 |
struct vki_elf_prpsinfo { |
| 2144 |
char pr_state ; |
|
2144 |
char pr_state ; |
| 2145 |
char pr_sname ; |
|
2145 |
char pr_sname ; |
| 2146 |
char pr_zomb ; |
|
2146 |
char pr_zomb ; |
| 2147 |
char pr_nice ; |
|
2147 |
char pr_nice ; |
| 2148 |
unsigned long pr_flag ; |
|
2148 |
unsigned long pr_flag ; |
| 2149 |
__vki_kernel_uid_t pr_uid ; |
|
2149 |
__vki_kernel_uid_t pr_uid ; |
| 2150 |
__vki_kernel_gid_t pr_gid ; |
|
2150 |
__vki_kernel_gid_t pr_gid ; |
| 2151 |
vki_pid_t pr_pid ; |
|
2151 |
vki_pid_t pr_pid ; |
| 2152 |
vki_pid_t pr_ppid ; |
|
2152 |
vki_pid_t pr_ppid ; |
| 2153 |
vki_pid_t pr_pgrp ; |
|
2153 |
vki_pid_t pr_pgrp ; |
| 2154 |
vki_pid_t pr_sid ; |
|
2154 |
vki_pid_t pr_sid ; |
| 2155 |
char pr_fname[16] ; |
|
2155 |
char pr_fname[16] ; |
| 2156 |
char pr_psargs[80] ; |
|
2156 |
char pr_psargs[80] ; |
| 2157 |
}; |
|
2157 |
}; |
| 2158 |
struct vki_epoll_event { |
|
2158 |
struct vki_epoll_event { |
| 2159 |
__vki_u32 events ; |
|
2159 |
__vki_u32 events ; |
| 2160 |
__vki_u64 data ; |
|
2160 |
__vki_u64 data ; |
| 2161 |
}; |
|
2161 |
}; |
| 2162 |
struct vki_mq_attr { |
|
2162 |
struct vki_mq_attr { |
| 2163 |
long mq_flags ; |
|
2163 |
long mq_flags ; |
| 2164 |
long mq_maxmsg ; |
|
2164 |
long mq_maxmsg ; |
| 2165 |
long mq_msgsize ; |
|
2165 |
long mq_msgsize ; |
| 2166 |
long mq_curmsgs ; |
|
2166 |
long mq_curmsgs ; |
| 2167 |
long __reserved[4] ; |
|
2167 |
long __reserved[4] ; |
| 2168 |
}; |
|
2168 |
}; |
| 2169 |
struct vki_new_utsname { |
|
2169 |
struct vki_new_utsname { |
| 2170 |
char sysname[65] ; |
|
2170 |
char sysname[65] ; |
| 2171 |
char nodename[65] ; |
|
2171 |
char nodename[65] ; |
| 2172 |
char release[65] ; |
|
2172 |
char release[65] ; |
| 2173 |
char version[65] ; |
|
2173 |
char version[65] ; |
| 2174 |
char machine[65] ; |
|
2174 |
char machine[65] ; |
| 2175 |
char domainname[65] ; |
|
2175 |
char domainname[65] ; |
| 2176 |
}; |
|
2176 |
}; |
| 2177 |
struct vki_mii_ioctl_data { |
|
2177 |
struct vki_mii_ioctl_data { |
| 2178 |
vki_u16 phy_id ; |
|
2178 |
vki_u16 phy_id ; |
| 2179 |
vki_u16 reg_num ; |
|
2179 |
vki_u16 reg_num ; |
| 2180 |
vki_u16 val_in ; |
|
2180 |
vki_u16 val_in ; |
| 2181 |
vki_u16 val_out ; |
|
2181 |
vki_u16 val_out ; |
| 2182 |
}; |
|
2182 |
}; |
| 2183 |
struct __vki_user_cap_header_struct { |
|
2183 |
struct __vki_user_cap_header_struct { |
| 2184 |
__vki_u32 version ; |
|
2184 |
__vki_u32 version ; |
| 2185 |
int pid ; |
|
2185 |
int pid ; |
| 2186 |
}; |
|
2186 |
}; |
| 2187 |
typedef struct __vki_user_cap_header_struct *vki_cap_user_header_t; |
|
2187 |
typedef struct __vki_user_cap_header_struct *vki_cap_user_header_t; |
| 2188 |
struct __vki_user_cap_data_struct { |
|
2188 |
struct __vki_user_cap_data_struct { |
| 2189 |
__vki_u32 effective ; |
|
2189 |
__vki_u32 effective ; |
| 2190 |
__vki_u32 permitted ; |
|
2190 |
__vki_u32 permitted ; |
| 2191 |
__vki_u32 inheritable ; |
|
2191 |
__vki_u32 inheritable ; |
| 2192 |
}; |
|
2192 |
}; |
| 2193 |
typedef struct __vki_user_cap_data_struct *vki_cap_user_data_t; |
|
2193 |
typedef struct __vki_user_cap_data_struct *vki_cap_user_data_t; |
| 2194 |
struct vki_ipc_perm { |
|
2194 |
struct vki_ipc_perm { |
| 2195 |
__vki_kernel_key_t key ; |
|
2195 |
__vki_kernel_key_t key ; |
| 2196 |
__vki_kernel_uid_t uid ; |
|
2196 |
__vki_kernel_uid_t uid ; |
| 2197 |
__vki_kernel_gid_t gid ; |
|
2197 |
__vki_kernel_gid_t gid ; |
| 2198 |
__vki_kernel_uid_t cuid ; |
|
2198 |
__vki_kernel_uid_t cuid ; |
| 2199 |
__vki_kernel_gid_t cgid ; |
|
2199 |
__vki_kernel_gid_t cgid ; |
| 2200 |
__vki_kernel_mode_t mode ; |
|
2200 |
__vki_kernel_mode_t mode ; |
| 2201 |
unsigned short seq ; |
|
2201 |
unsigned short seq ; |
| 2202 |
}; |
|
2202 |
}; |
| 2203 |
struct vki_semid_ds { |
|
2203 |
struct vki_semid_ds { |
| 2204 |
struct vki_ipc_perm sem_perm ; |
|
2204 |
struct vki_ipc_perm sem_perm ; |
| 2205 |
__vki_kernel_time_t sem_otime ; |
|
2205 |
__vki_kernel_time_t sem_otime ; |
| 2206 |
__vki_kernel_time_t sem_ctime ; |
|
2206 |
__vki_kernel_time_t sem_ctime ; |
| 2207 |
void *sem_base ; |
|
2207 |
void *sem_base ; |
| 2208 |
void *sem_pending ; |
|
2208 |
void *sem_pending ; |
| 2209 |
void **sem_pending_last ; |
|
2209 |
void **sem_pending_last ; |
| 2210 |
void *undo ; |
|
2210 |
void *undo ; |
| 2211 |
unsigned short sem_nsems ; |
|
2211 |
unsigned short sem_nsems ; |
| 2212 |
}; |
|
2212 |
}; |
| 2213 |
struct vki_sembuf { |
|
2213 |
struct vki_sembuf { |
| 2214 |
unsigned short sem_num ; |
|
2214 |
unsigned short sem_num ; |
| 2215 |
short sem_op ; |
|
2215 |
short sem_op ; |
| 2216 |
short sem_flg ; |
|
2216 |
short sem_flg ; |
| 2217 |
}; |
|
2217 |
}; |
| 2218 |
struct vki_seminfo; |
|
2218 |
struct vki_seminfo; |
| 2219 |
union vki_semun { |
|
2219 |
union vki_semun { |
| 2220 |
int val ; |
|
2220 |
int val ; |
| 2221 |
struct vki_semid_ds *buf ; |
|
2221 |
struct vki_semid_ds *buf ; |
| 2222 |
unsigned short *array ; |
|
2222 |
unsigned short *array ; |
| 2223 |
struct vki_seminfo *__buf ; |
|
2223 |
struct vki_seminfo *__buf ; |
| 2224 |
void *__pad ; |
|
2224 |
void *__pad ; |
| 2225 |
}; |
|
2225 |
}; |
| 2226 |
struct vki_seminfo { |
|
2226 |
struct vki_seminfo { |
| 2227 |
int semmap ; |
|
2227 |
int semmap ; |
| 2228 |
int semmni ; |
|
2228 |
int semmni ; |
| 2229 |
int semmns ; |
|
2229 |
int semmns ; |
| 2230 |
int semmnu ; |
|
2230 |
int semmnu ; |
| 2231 |
int semmsl ; |
|
2231 |
int semmsl ; |
| 2232 |
int semopm ; |
|
2232 |
int semopm ; |
| 2233 |
int semume ; |
|
2233 |
int semume ; |
| 2234 |
int semusz ; |
|
2234 |
int semusz ; |
| 2235 |
int semvmx ; |
|
2235 |
int semvmx ; |
| 2236 |
int semaem ; |
|
2236 |
int semaem ; |
| 2237 |
}; |
|
2237 |
}; |
| 2238 |
struct vki_robust_list { |
|
2238 |
struct vki_robust_list { |
| 2239 |
struct vki_robust_list *next ; |
|
2239 |
struct vki_robust_list *next ; |
| 2240 |
}; |
|
2240 |
}; |
| 2241 |
struct vki_robust_list_head { |
|
2241 |
struct vki_robust_list_head { |
| 2242 |
struct vki_robust_list list ; |
|
2242 |
struct vki_robust_list list ; |
| 2243 |
long futex_offset ; |
|
2243 |
long futex_offset ; |
| 2244 |
struct vki_robust_list *list_op_pending ; |
|
2244 |
struct vki_robust_list *list_op_pending ; |
| 2245 |
}; |
|
2245 |
}; |
| 2246 |
struct vki_dirent { |
|
2246 |
struct vki_dirent { |
| 2247 |
long d_ino ; |
|
2247 |
long d_ino ; |
| 2248 |
__vki_kernel_off_t d_off ; |
|
2248 |
__vki_kernel_off_t d_off ; |
| 2249 |
unsigned short d_reclen ; |
|
2249 |
unsigned short d_reclen ; |
| 2250 |
char d_name[256] ; |
|
2250 |
char d_name[256] ; |
| 2251 |
}; |
|
2251 |
}; |
| 2252 |
struct __vki_sysctl_args { |
|
2252 |
struct __vki_sysctl_args { |
| 2253 |
int *name ; |
|
2253 |
int *name ; |
| 2254 |
int nlen ; |
|
2254 |
int nlen ; |
| 2255 |
void *oldval ; |
|
2255 |
void *oldval ; |
| 2256 |
vki_size_t *oldlenp ; |
|
2256 |
vki_size_t *oldlenp ; |
| 2257 |
void *newval ; |
|
2257 |
void *newval ; |
| 2258 |
vki_size_t newlen ; |
|
2258 |
vki_size_t newlen ; |
| 2259 |
unsigned long __unused[4] ; |
|
2259 |
unsigned long __unused[4] ; |
| 2260 |
}; |
|
2260 |
}; |
| 2261 |
typedef unsigned long vki_aio_context_t; |
|
2261 |
typedef unsigned long vki_aio_context_t; |
| 2262 |
enum __anonenum_90 { |
|
2262 |
enum __anonenum_90 { |
| 2263 |
VKI_IOCB_CMD_PREAD = 0, |
|
2263 |
VKI_IOCB_CMD_PREAD = 0, |
| 2264 |
VKI_IOCB_CMD_PWRITE = 1, |
|
2264 |
VKI_IOCB_CMD_PWRITE = 1, |
| 2265 |
VKI_IOCB_CMD_FSYNC = 2, |
|
2265 |
VKI_IOCB_CMD_FSYNC = 2, |
| 2266 |
VKI_IOCB_CMD_FDSYNC = 3, |
|
2266 |
VKI_IOCB_CMD_FDSYNC = 3, |
| 2267 |
VKI_IOCB_CMD_PREADV = 7, |
|
2267 |
VKI_IOCB_CMD_PREADV = 7, |
| 2268 |
VKI_IOCB_CMD_PWRITEV = 8 |
|
2268 |
VKI_IOCB_CMD_PWRITEV = 8 |
| 2269 |
} ; |
|
2269 |
} ; |
| 2270 |
struct vki_io_event { |
|
2270 |
struct vki_io_event { |
| 2271 |
__vki_u64 data ; |
|
2271 |
__vki_u64 data ; |
| 2272 |
__vki_u64 obj ; |
|
2272 |
__vki_u64 obj ; |
| 2273 |
__vki_s64 result ; |
|
2273 |
__vki_s64 result ; |
| 2274 |
__vki_s64 result2 ; |
|
2274 |
__vki_s64 result2 ; |
| 2275 |
}; |
|
2275 |
}; |
| 2276 |
struct vki_iocb { |
|
2276 |
struct vki_iocb { |
| 2277 |
__vki_u64 aio_data ; |
|
2277 |
__vki_u64 aio_data ; |
| 2278 |
__vki_u32 aio_key ; |
|
2278 |
__vki_u32 aio_key ; |
| 2279 |
__vki_u32 aio_reserved1 ; |
|
2279 |
__vki_u32 aio_reserved1 ; |
| 2280 |
__vki_u16 aio_lio_opcode ; |
|
2280 |
__vki_u16 aio_lio_opcode ; |
| 2281 |
__vki_s16 aio_reqprio ; |
|
2281 |
__vki_s16 aio_reqprio ; |
| 2282 |
__vki_u32 aio_fildes ; |
|
2282 |
__vki_u32 aio_fildes ; |
| 2283 |
__vki_u64 aio_buf ; |
|
2283 |
__vki_u64 aio_buf ; |
| 2284 |
__vki_u64 aio_nbytes ; |
|
2284 |
__vki_u64 aio_nbytes ; |
| 2285 |
__vki_s64 aio_offset ; |
|
2285 |
__vki_s64 aio_offset ; |
| 2286 |
__vki_u64 aio_reserved2 ; |
|
2286 |
__vki_u64 aio_reserved2 ; |
| 2287 |
__vki_u64 aio_reserved3 ; |
|
2287 |
__vki_u64 aio_reserved3 ; |
| 2288 |
}; |
|
2288 |
}; |
| 2289 |
struct vki_aio_ring { |
|
2289 |
struct vki_aio_ring { |
| 2290 |
unsigned int id ; |
|
2290 |
unsigned int id ; |
| 2291 |
unsigned int nr ; |
|
2291 |
unsigned int nr ; |
| 2292 |
unsigned int head ; |
|
2292 |
unsigned int head ; |
| 2293 |
unsigned int tail ; |
|
2293 |
unsigned int tail ; |
| 2294 |
unsigned int magic ; |
|
2294 |
unsigned int magic ; |
| 2295 |
unsigned int compat_features ; |
|
2295 |
unsigned int compat_features ; |
| 2296 |
unsigned int incompat_features ; |
|
2296 |
unsigned int incompat_features ; |
| 2297 |
unsigned int header_length ; |
|
2297 |
unsigned int header_length ; |
| 2298 |
struct vki_io_event io_events[0] ; |
|
2298 |
struct vki_io_event io_events[0] ; |
| 2299 |
}; |
|
2299 |
}; |
| 2300 |
struct vki_msg; |
|
2300 |
struct vki_msg; |
| 2301 |
struct vki_msqid_ds { |
|
2301 |
struct vki_msqid_ds { |
| 2302 |
struct vki_ipc_perm msg_perm ; |
|
2302 |
struct vki_ipc_perm msg_perm ; |
| 2303 |
struct vki_msg *msg_first ; |
|
2303 |
struct vki_msg *msg_first ; |
| 2304 |
struct vki_msg *msg_last ; |
|
2304 |
struct vki_msg *msg_last ; |
| 2305 |
__vki_kernel_time_t msg_stime ; |
|
2305 |
__vki_kernel_time_t msg_stime ; |
| 2306 |
__vki_kernel_time_t msg_rtime ; |
|
2306 |
__vki_kernel_time_t msg_rtime ; |
| 2307 |
__vki_kernel_time_t msg_ctime ; |
|
2307 |
__vki_kernel_time_t msg_ctime ; |
| 2308 |
unsigned long msg_lcbytes ; |
|
2308 |
unsigned long msg_lcbytes ; |
| 2309 |
unsigned long msg_lqbytes ; |
|
2309 |
unsigned long msg_lqbytes ; |
| 2310 |
unsigned short msg_cbytes ; |
|
2310 |
unsigned short msg_cbytes ; |
| 2311 |
unsigned short msg_qnum ; |
|
2311 |
unsigned short msg_qnum ; |
| 2312 |
unsigned short msg_qbytes ; |
|
2312 |
unsigned short msg_qbytes ; |
| 2313 |
__vki_kernel_ipc_pid_t msg_lspid ; |
|
2313 |
__vki_kernel_ipc_pid_t msg_lspid ; |
| 2314 |
__vki_kernel_ipc_pid_t msg_lrpid ; |
|
2314 |
__vki_kernel_ipc_pid_t msg_lrpid ; |
| 2315 |
}; |
|
2315 |
}; |
| 2316 |
struct vki_msgbuf { |
|
2316 |
struct vki_msgbuf { |
| 2317 |
long mtype ; |
|
2317 |
long mtype ; |
| 2318 |
char mtext[1] ; |
|
2318 |
char mtext[1] ; |
| 2319 |
}; |
|
2319 |
}; |
| 2320 |
struct vki_msginfo { |
|
2320 |
struct vki_msginfo { |
| 2321 |
int msgpool ; |
|
2321 |
int msgpool ; |
| 2322 |
int msgmap ; |
|
2322 |
int msgmap ; |
| 2323 |
int msgmax ; |
|
2323 |
int msgmax ; |
| 2324 |
int msgmnb ; |
|
2324 |
int msgmnb ; |
| 2325 |
int msgmni ; |
|
2325 |
int msgmni ; |
| 2326 |
int msgssz ; |
|
2326 |
int msgssz ; |
| 2327 |
int msgtql ; |
|
2327 |
int msgtql ; |
| 2328 |
unsigned short msgseg ; |
|
2328 |
unsigned short msgseg ; |
| 2329 |
}; |
|
2329 |
}; |
| 2330 |
struct vki_shmid_ds { |
|
2330 |
struct vki_shmid_ds { |
| 2331 |
struct vki_ipc_perm shm_perm ; |
|
2331 |
struct vki_ipc_perm shm_perm ; |
| 2332 |
int shm_segsz ; |
|
2332 |
int shm_segsz ; |
| 2333 |
__vki_kernel_time_t shm_atime ; |
|
2333 |
__vki_kernel_time_t shm_atime ; |
| 2334 |
__vki_kernel_time_t shm_dtime ; |
|
2334 |
__vki_kernel_time_t shm_dtime ; |
| 2335 |
__vki_kernel_time_t shm_ctime ; |
|
2335 |
__vki_kernel_time_t shm_ctime ; |
| 2336 |
__vki_kernel_ipc_pid_t shm_cpid ; |
|
2336 |
__vki_kernel_ipc_pid_t shm_cpid ; |
| 2337 |
__vki_kernel_ipc_pid_t shm_lpid ; |
|
2337 |
__vki_kernel_ipc_pid_t shm_lpid ; |
| 2338 |
unsigned short shm_nattch ; |
|
2338 |
unsigned short shm_nattch ; |
| 2339 |
unsigned short shm_unused ; |
|
2339 |
unsigned short shm_unused ; |
| 2340 |
void *shm_unused2 ; |
|
2340 |
void *shm_unused2 ; |
| 2341 |
void *shm_unused3 ; |
|
2341 |
void *shm_unused3 ; |
| 2342 |
}; |
|
2342 |
}; |
| 2343 |
struct vki_shminfo { |
|
2343 |
struct vki_shminfo { |
| 2344 |
int shmmax ; |
|
2344 |
int shmmax ; |
| 2345 |
int shmmin ; |
|
2345 |
int shmmin ; |
| 2346 |
int shmmni ; |
|
2346 |
int shmmni ; |
| 2347 |
int shmseg ; |
|
2347 |
int shmseg ; |
| 2348 |
int shmall ; |
|
2348 |
int shmall ; |
| 2349 |
}; |
|
2349 |
}; |
| 2350 |
struct vki_shm_info { |
|
2350 |
struct vki_shm_info { |
| 2351 |
int used_ids ; |
|
2351 |
int used_ids ; |
| 2352 |
unsigned long shm_tot ; |
|
2352 |
unsigned long shm_tot ; |
| 2353 |
unsigned long shm_rss ; |
|
2353 |
unsigned long shm_rss ; |
| 2354 |
unsigned long shm_swp ; |
|
2354 |
unsigned long shm_swp ; |
| 2355 |
unsigned long swap_attempts ; |
|
2355 |
unsigned long swap_attempts ; |
| 2356 |
unsigned long swap_successes ; |
|
2356 |
unsigned long swap_successes ; |
| 2357 |
}; |
|
2357 |
}; |
| 2358 |
struct vki_rtc_time { |
|
2358 |
struct vki_rtc_time { |
| 2359 |
int tm_sec ; |
|
2359 |
int tm_sec ; |
| 2360 |
int tm_min ; |
|
2360 |
int tm_min ; |
| 2361 |
int tm_hour ; |
|
2361 |
int tm_hour ; |
| 2362 |
int tm_mday ; |
|
2362 |
int tm_mday ; |
| 2363 |
int tm_mon ; |
|
2363 |
int tm_mon ; |
| 2364 |
int tm_year ; |
|
2364 |
int tm_year ; |
| 2365 |
int tm_wday ; |
|
2365 |
int tm_wday ; |
| 2366 |
int tm_yday ; |
|
2366 |
int tm_yday ; |
| 2367 |
int tm_isdst ; |
|
2367 |
int tm_isdst ; |
| 2368 |
}; |
|
2368 |
}; |
| 2369 |
struct __anonstruct_vki_isdn_net_ioctl_phone_91 { |
|
2369 |
struct __anonstruct_vki_isdn_net_ioctl_phone_91 { |
| 2370 |
char name[10] ; |
|
2370 |
char name[10] ; |
| 2371 |
char phone[32] ; |
|
2371 |
char phone[32] ; |
| 2372 |
int outgoing ; |
|
2372 |
int outgoing ; |
| 2373 |
}; |
|
2373 |
}; |
| 2374 |
typedef struct __anonstruct_vki_isdn_net_ioctl_phone_91 vki_isdn_net_ioctl_phone; |
|
2374 |
typedef struct __anonstruct_vki_isdn_net_ioctl_phone_91 vki_isdn_net_ioctl_phone; |
| 2375 |
struct vki_ppdev_frob_struct { |
|
2375 |
struct vki_ppdev_frob_struct { |
| 2376 |
unsigned char mask ; |
|
2376 |
unsigned char mask ; |
| 2377 |
unsigned char val ; |
|
2377 |
unsigned char val ; |
| 2378 |
}; |
|
2378 |
}; |
| 2379 |
struct vki_sg_io_hdr { |
|
2379 |
struct vki_sg_io_hdr { |
| 2380 |
int interface_id ; |
|
2380 |
int interface_id ; |
| 2381 |
int dxfer_direction ; |
|
2381 |
int dxfer_direction ; |
| 2382 |
unsigned char cmd_len ; |
|
2382 |
unsigned char cmd_len ; |
| 2383 |
unsigned char mx_sb_len ; |
|
2383 |
unsigned char mx_sb_len ; |
| 2384 |
unsigned short iovec_count ; |
|
2384 |
unsigned short iovec_count ; |
| 2385 |
unsigned int dxfer_len ; |
|
2385 |
unsigned int dxfer_len ; |
| 2386 |
void *dxferp ; |
|
2386 |
void *dxferp ; |
| 2387 |
unsigned char *cmdp ; |
|
2387 |
unsigned char *cmdp ; |
| 2388 |
void *sbp ; |
|
2388 |
void *sbp ; |
| 2389 |
unsigned int timeout ; |
|
2389 |
unsigned int timeout ; |
| 2390 |
unsigned int flags ; |
|
2390 |
unsigned int flags ; |
| 2391 |
int pack_id ; |
|
2391 |
int pack_id ; |
| 2392 |
void *usr_ptr ; |
|
2392 |
void *usr_ptr ; |
| 2393 |
unsigned char status ; |
|
2393 |
unsigned char status ; |
| 2394 |
unsigned char masked_status ; |
|
2394 |
unsigned char masked_status ; |
| 2395 |
unsigned char msg_status ; |
|
2395 |
unsigned char msg_status ; |
| 2396 |
unsigned char sb_len_wr ; |
|
2396 |
unsigned char sb_len_wr ; |
| 2397 |
unsigned short host_status ; |
|
2397 |
unsigned short host_status ; |
| 2398 |
unsigned short driver_status ; |
|
2398 |
unsigned short driver_status ; |
| 2399 |
int resid ; |
|
2399 |
int resid ; |
| 2400 |
unsigned int duration ; |
|
2400 |
unsigned int duration ; |
| 2401 |
unsigned int info ; |
|
2401 |
unsigned int info ; |
| 2402 |
}; |
|
2402 |
}; |
| 2403 |
typedef struct vki_sg_io_hdr vki_sg_io_hdr_t; |
|
2403 |
typedef struct vki_sg_io_hdr vki_sg_io_hdr_t; |
| 2404 |
struct vki_sg_scsi_id { |
|
2404 |
struct vki_sg_scsi_id { |
| 2405 |
int host_no ; |
|
2405 |
int host_no ; |
| 2406 |
int channel ; |
|
2406 |
int channel ; |
| 2407 |
int scsi_id ; |
|
2407 |
int scsi_id ; |
| 2408 |
int lun ; |
|
2408 |
int lun ; |
| 2409 |
int scsi_type ; |
|
2409 |
int scsi_type ; |
| 2410 |
short h_cmd_per_lun ; |
|
2410 |
short h_cmd_per_lun ; |
| 2411 |
short d_queue_depth ; |
|
2411 |
short d_queue_depth ; |
| 2412 |
int unused[2] ; |
|
2412 |
int unused[2] ; |
| 2413 |
}; |
|
2413 |
}; |
| 2414 |
typedef struct vki_sg_scsi_id vki_sg_scsi_id_t; |
|
2414 |
typedef struct vki_sg_scsi_id vki_sg_scsi_id_t; |
| 2415 |
struct vki_cdrom_msf0 { |
|
2415 |
struct vki_cdrom_msf0 { |
| 2416 |
__vki_u8 minute ; |
|
2416 |
__vki_u8 minute ; |
| 2417 |
__vki_u8 second ; |
|
2417 |
__vki_u8 second ; |
| 2418 |
__vki_u8 frame ; |
|
2418 |
__vki_u8 frame ; |
| 2419 |
}; |
|
2419 |
}; |
| 2420 |
union vki_cdrom_addr { |
|
2420 |
union vki_cdrom_addr { |
| 2421 |
struct vki_cdrom_msf0 msf ; |
|
2421 |
struct vki_cdrom_msf0 msf ; |
| 2422 |
int lba ; |
|
2422 |
int lba ; |
| 2423 |
}; |
|
2423 |
}; |
| 2424 |
struct vki_cdrom_msf { |
|
2424 |
struct vki_cdrom_msf { |
| 2425 |
__vki_u8 cdmsf_min0 ; |
|
2425 |
__vki_u8 cdmsf_min0 ; |
| 2426 |
__vki_u8 cdmsf_sec0 ; |
|
2426 |
__vki_u8 cdmsf_sec0 ; |
| 2427 |
__vki_u8 cdmsf_frame0 ; |
|
2427 |
__vki_u8 cdmsf_frame0 ; |
| 2428 |
__vki_u8 cdmsf_min1 ; |
|
2428 |
__vki_u8 cdmsf_min1 ; |
| 2429 |
__vki_u8 cdmsf_sec1 ; |
|
2429 |
__vki_u8 cdmsf_sec1 ; |
| 2430 |
__vki_u8 cdmsf_frame1 ; |
|
2430 |
__vki_u8 cdmsf_frame1 ; |
| 2431 |
}; |
|
2431 |
}; |
| 2432 |
struct vki_cdrom_tochdr { |
|
2432 |
struct vki_cdrom_tochdr { |
| 2433 |
__vki_u8 cdth_trk0 ; |
|
2433 |
__vki_u8 cdth_trk0 ; |
| 2434 |
__vki_u8 cdth_trk1 ; |
|
2434 |
__vki_u8 cdth_trk1 ; |
| 2435 |
}; |
|
2435 |
}; |
| 2436 |
struct vki_cdrom_volctrl { |
|
2436 |
struct vki_cdrom_volctrl { |
| 2437 |
__vki_u8 channel0 ; |
|
2437 |
__vki_u8 channel0 ; |
| 2438 |
__vki_u8 channel1 ; |
|
2438 |
__vki_u8 channel1 ; |
| 2439 |
__vki_u8 channel2 ; |
|
2439 |
__vki_u8 channel2 ; |
| 2440 |
__vki_u8 channel3 ; |
|
2440 |
__vki_u8 channel3 ; |
| 2441 |
}; |
|
2441 |
}; |
| 2442 |
struct vki_cdrom_subchnl { |
|
2442 |
struct vki_cdrom_subchnl { |
| 2443 |
__vki_u8 cdsc_format ; |
|
2443 |
__vki_u8 cdsc_format ; |
| 2444 |
__vki_u8 cdsc_audiostatus ; |
|
2444 |
__vki_u8 cdsc_audiostatus ; |
| 2445 |
__vki_u8 cdsc_adr : 4 ; |
|
2445 |
__vki_u8 cdsc_adr : 4 ; |
| 2446 |
__vki_u8 cdsc_ctrl : 4 ; |
|
2446 |
__vki_u8 cdsc_ctrl : 4 ; |
| 2447 |
__vki_u8 cdsc_trk ; |
|
2447 |
__vki_u8 cdsc_trk ; |
| 2448 |
__vki_u8 cdsc_ind ; |
|
2448 |
__vki_u8 cdsc_ind ; |
| 2449 |
union vki_cdrom_addr cdsc_absaddr ; |
|
2449 |
union vki_cdrom_addr cdsc_absaddr ; |
| 2450 |
union vki_cdrom_addr cdsc_reladdr ; |
|
2450 |
union vki_cdrom_addr cdsc_reladdr ; |
| 2451 |
}; |
|
2451 |
}; |
| 2452 |
struct vki_cdrom_tocentry { |
|
2452 |
struct vki_cdrom_tocentry { |
| 2453 |
__vki_u8 cdte_track ; |
|
2453 |
__vki_u8 cdte_track ; |
| 2454 |
__vki_u8 cdte_adr : 4 ; |
|
2454 |
__vki_u8 cdte_adr : 4 ; |
| 2455 |
__vki_u8 cdte_ctrl : 4 ; |
|
2455 |
__vki_u8 cdte_ctrl : 4 ; |
| 2456 |
__vki_u8 cdte_format ; |
|
2456 |
__vki_u8 cdte_format ; |
| 2457 |
union vki_cdrom_addr cdte_addr ; |
|
2457 |
union vki_cdrom_addr cdte_addr ; |
| 2458 |
__vki_u8 cdte_datamode ; |
|
2458 |
__vki_u8 cdte_datamode ; |
| 2459 |
}; |
|
2459 |
}; |
| 2460 |
struct vki_cdrom_read { |
|
2460 |
struct vki_cdrom_read { |
| 2461 |
int cdread_lba ; |
|
2461 |
int cdread_lba ; |
| 2462 |
char *cdread_bufaddr ; |
|
2462 |
char *cdread_bufaddr ; |
| 2463 |
int cdread_buflen ; |
|
2463 |
int cdread_buflen ; |
| 2464 |
}; |
|
2464 |
}; |
| 2465 |
struct vki_cdrom_read_audio { |
|
2465 |
struct vki_cdrom_read_audio { |
| 2466 |
union vki_cdrom_addr addr ; |
|
2466 |
union vki_cdrom_addr addr ; |
| 2467 |
__vki_u8 addr_format ; |
|
2467 |
__vki_u8 addr_format ; |
| 2468 |
int nframes ; |
|
2468 |
int nframes ; |
| 2469 |
__vki_u8 *buf ; |
|
2469 |
__vki_u8 *buf ; |
| 2470 |
}; |
|
2470 |
}; |
| 2471 |
struct vki_cdrom_multisession { |
|
2471 |
struct vki_cdrom_multisession { |
| 2472 |
union vki_cdrom_addr addr ; |
|
2472 |
union vki_cdrom_addr addr ; |
| 2473 |
__vki_u8 xa_flag ; |
|
2473 |
__vki_u8 xa_flag ; |
| 2474 |
__vki_u8 addr_format ; |
|
2474 |
__vki_u8 addr_format ; |
| 2475 |
}; |
|
2475 |
}; |
| 2476 |
struct vki_cdrom_mcn { |
|
2476 |
struct vki_cdrom_mcn { |
| 2477 |
__vki_u8 medium_catalog_number[14] ; |
|
2477 |
__vki_u8 medium_catalog_number[14] ; |
| 2478 |
}; |
|
2478 |
}; |
| 2479 |
struct vki_cdrom_generic_command { |
|
2479 |
struct vki_cdrom_generic_command { |
| 2480 |
unsigned char cmd[12] ; |
|
2480 |
unsigned char cmd[12] ; |
| 2481 |
unsigned char *buffer ; |
|
2481 |
unsigned char *buffer ; |
| 2482 |
unsigned int buflen ; |
|
2482 |
unsigned int buflen ; |
| 2483 |
int stat ; |
|
2483 |
int stat ; |
| 2484 |
void *sense ; |
|
2484 |
void *sense ; |
| 2485 |
unsigned char data_direction ; |
|
2485 |
unsigned char data_direction ; |
| 2486 |
int quiet ; |
|
2486 |
int quiet ; |
| 2487 |
int timeout ; |
|
2487 |
int timeout ; |
| 2488 |
void *reserved[1] ; |
|
2488 |
void *reserved[1] ; |
| 2489 |
}; |
|
2489 |
}; |
| 2490 |
struct vki_audio_buf_info { |
|
2490 |
struct vki_audio_buf_info { |
| 2491 |
int fragments ; |
|
2491 |
int fragments ; |
| 2492 |
int fragstotal ; |
|
2492 |
int fragstotal ; |
| 2493 |
int fragsize ; |
|
2493 |
int fragsize ; |
| 2494 |
int bytes ; |
|
2494 |
int bytes ; |
| 2495 |
}; |
|
2495 |
}; |
| 2496 |
typedef struct vki_audio_buf_info vki_audio_buf_info; |
|
2496 |
typedef struct vki_audio_buf_info vki_audio_buf_info; |
| 2497 |
struct vki_hd_geometry { |
|
2497 |
struct vki_hd_geometry { |
| 2498 |
unsigned char heads ; |
|
2498 |
unsigned char heads ; |
| 2499 |
unsigned char sectors ; |
|
2499 |
unsigned char sectors ; |
| 2500 |
unsigned short cylinders ; |
|
2500 |
unsigned short cylinders ; |
| 2501 |
unsigned long start ; |
|
2501 |
unsigned long start ; |
| 2502 |
}; |
|
2502 |
}; |
| 2503 |
struct vki_fb_fix_screeninfo { |
|
2503 |
struct vki_fb_fix_screeninfo { |
| 2504 |
char id[16] ; |
|
2504 |
char id[16] ; |
| 2505 |
unsigned long smem_start ; |
|
2505 |
unsigned long smem_start ; |
| 2506 |
__vki_u32 smem_len ; |
|
2506 |
__vki_u32 smem_len ; |
| 2507 |
__vki_u32 type ; |
|
2507 |
__vki_u32 type ; |
| 2508 |
__vki_u32 type_aux ; |
|
2508 |
__vki_u32 type_aux ; |
| 2509 |
__vki_u32 visual ; |
|
2509 |
__vki_u32 visual ; |
| 2510 |
__vki_u16 xpanstep ; |
|
2510 |
__vki_u16 xpanstep ; |
| 2511 |
__vki_u16 ypanstep ; |
|
2511 |
__vki_u16 ypanstep ; |
| 2512 |
__vki_u16 ywrapstep ; |
|
2512 |
__vki_u16 ywrapstep ; |
| 2513 |
__vki_u32 line_length ; |
|
2513 |
__vki_u32 line_length ; |
| 2514 |
unsigned long mmio_start ; |
|
2514 |
unsigned long mmio_start ; |
| 2515 |
__vki_u32 mmio_len ; |
|
2515 |
__vki_u32 mmio_len ; |
| 2516 |
__vki_u32 accel ; |
|
2516 |
__vki_u32 accel ; |
| 2517 |
__vki_u16 reserved[3] ; |
|
2517 |
__vki_u16 reserved[3] ; |
| 2518 |
}; |
|
2518 |
}; |
| 2519 |
struct vki_fb_bitfield { |
|
2519 |
struct vki_fb_bitfield { |
| 2520 |
__vki_u32 offset ; |
|
2520 |
__vki_u32 offset ; |
| 2521 |
__vki_u32 length ; |
|
2521 |
__vki_u32 length ; |
| 2522 |
__vki_u32 msb_right ; |
|
2522 |
__vki_u32 msb_right ; |
| 2523 |
}; |
|
2523 |
}; |
| 2524 |
struct vki_fb_var_screeninfo { |
|
2524 |
struct vki_fb_var_screeninfo { |
| 2525 |
__vki_u32 xres ; |
|
2525 |
__vki_u32 xres ; |
| 2526 |
__vki_u32 yres ; |
|
2526 |
__vki_u32 yres ; |
| 2527 |
__vki_u32 xres_virtual ; |
|
2527 |
__vki_u32 xres_virtual ; |
| 2528 |
__vki_u32 yres_virtual ; |
|
2528 |
__vki_u32 yres_virtual ; |
| 2529 |
__vki_u32 xoffset ; |
|
2529 |
__vki_u32 xoffset ; |
| 2530 |
__vki_u32 yoffset ; |
|
2530 |
__vki_u32 yoffset ; |
| 2531 |
__vki_u32 bits_per_pixel ; |
|
2531 |
__vki_u32 bits_per_pixel ; |
| 2532 |
__vki_u32 grayscale ; |
|
2532 |
__vki_u32 grayscale ; |
| 2533 |
struct vki_fb_bitfield red ; |
|
2533 |
struct vki_fb_bitfield red ; |
| 2534 |
struct vki_fb_bitfield green ; |
|
2534 |
struct vki_fb_bitfield green ; |
| 2535 |
struct vki_fb_bitfield blue ; |
|
2535 |
struct vki_fb_bitfield blue ; |
| 2536 |
struct vki_fb_bitfield transp ; |
|
2536 |
struct vki_fb_bitfield transp ; |
| 2537 |
__vki_u32 nonstd ; |
|
2537 |
__vki_u32 nonstd ; |
| 2538 |
__vki_u32 activate ; |
|
2538 |
__vki_u32 activate ; |
| 2539 |
__vki_u32 height ; |
|
2539 |
__vki_u32 height ; |
| 2540 |
__vki_u32 width ; |
|
2540 |
__vki_u32 width ; |
| 2541 |
__vki_u32 accel_flags ; |
|
2541 |
__vki_u32 accel_flags ; |
| 2542 |
__vki_u32 pixclock ; |
|
2542 |
__vki_u32 pixclock ; |
| 2543 |
__vki_u32 left_margin ; |
|
2543 |
__vki_u32 left_margin ; |
| 2544 |
__vki_u32 right_margin ; |
|
2544 |
__vki_u32 right_margin ; |
| 2545 |
__vki_u32 upper_margin ; |
|
2545 |
__vki_u32 upper_margin ; |
| 2546 |
__vki_u32 lower_margin ; |
|
2546 |
__vki_u32 lower_margin ; |
| 2547 |
__vki_u32 hsync_len ; |
|
2547 |
__vki_u32 hsync_len ; |
| 2548 |
__vki_u32 vsync_len ; |
|
2548 |
__vki_u32 vsync_len ; |
| 2549 |
__vki_u32 sync ; |
|
2549 |
__vki_u32 sync ; |
| 2550 |
__vki_u32 vmode ; |
|
2550 |
__vki_u32 vmode ; |
| 2551 |
__vki_u32 rotate ; |
|
2551 |
__vki_u32 rotate ; |
| 2552 |
__vki_u32 reserved[5] ; |
|
2552 |
__vki_u32 reserved[5] ; |
| 2553 |
}; |
|
2553 |
}; |
| 2554 |
struct vki_consolefontdesc { |
|
2554 |
struct vki_consolefontdesc { |
| 2555 |
unsigned short charcount ; |
|
2555 |
unsigned short charcount ; |
| 2556 |
unsigned short charheight ; |
|
2556 |
unsigned short charheight ; |
| 2557 |
char *chardata ; |
|
2557 |
char *chardata ; |
| 2558 |
}; |
|
2558 |
}; |
| 2559 |
struct vki_unipair { |
|
2559 |
struct vki_unipair { |
| 2560 |
unsigned short unicode ; |
|
2560 |
unsigned short unicode ; |
| 2561 |
unsigned short fontpos ; |
|
2561 |
unsigned short fontpos ; |
| 2562 |
}; |
|
2562 |
}; |
| 2563 |
struct vki_unimapdesc { |
|
2563 |
struct vki_unimapdesc { |
| 2564 |
unsigned short entry_ct ; |
|
2564 |
unsigned short entry_ct ; |
| 2565 |
struct vki_unipair *entries ; |
|
2565 |
struct vki_unipair *entries ; |
| 2566 |
}; |
|
2566 |
}; |
| 2567 |
struct vki_unimapinit { |
|
2567 |
struct vki_unimapinit { |
| 2568 |
unsigned short advised_hashsize ; |
|
2568 |
unsigned short advised_hashsize ; |
| 2569 |
unsigned short advised_hashstep ; |
|
2569 |
unsigned short advised_hashstep ; |
| 2570 |
unsigned short advised_hashlevel ; |
|
2570 |
unsigned short advised_hashlevel ; |
| 2571 |
}; |
|
2571 |
}; |
| 2572 |
struct vki_kbentry { |
|
2572 |
struct vki_kbentry { |
| 2573 |
unsigned char kb_table ; |
|
2573 |
unsigned char kb_table ; |
| 2574 |
unsigned char kb_index ; |
|
2574 |
unsigned char kb_index ; |
| 2575 |
unsigned short kb_value ; |
|
2575 |
unsigned short kb_value ; |
| 2576 |
}; |
|
2576 |
}; |
| 2577 |
struct vki_kbsentry { |
|
2577 |
struct vki_kbsentry { |
| 2578 |
unsigned char kb_func ; |
|
2578 |
unsigned char kb_func ; |
| 2579 |
unsigned char kb_string[512] ; |
|
2579 |
unsigned char kb_string[512] ; |
| 2580 |
}; |
|
2580 |
}; |
| 2581 |
struct vki_kbdiacr { |
|
2581 |
struct vki_kbdiacr { |
| 2582 |
unsigned char diacr ; |
|
2582 |
unsigned char diacr ; |
| 2583 |
unsigned char base ; |
|
2583 |
unsigned char base ; |
| 2584 |
unsigned char result ; |
|
2584 |
unsigned char result ; |
| 2585 |
}; |
|
2585 |
}; |
| 2586 |
struct vki_kbdiacrs { |
|
2586 |
struct vki_kbdiacrs { |
| 2587 |
unsigned int kb_cnt ; |
|
2587 |
unsigned int kb_cnt ; |
| 2588 |
struct vki_kbdiacr kbdiacr[256] ; |
|
2588 |
struct vki_kbdiacr kbdiacr[256] ; |
| 2589 |
}; |
|
2589 |
}; |
| 2590 |
struct vki_kbkeycode { |
|
2590 |
struct vki_kbkeycode { |
| 2591 |
unsigned int scancode ; |
|
2591 |
unsigned int scancode ; |
| 2592 |
unsigned int keycode ; |
|
2592 |
unsigned int keycode ; |
| 2593 |
}; |
|
2593 |
}; |
| 2594 |
struct vki_kbd_repeat { |
|
2594 |
struct vki_kbd_repeat { |
| 2595 |
int delay ; |
|
2595 |
int delay ; |
| 2596 |
int period ; |
|
2596 |
int period ; |
| 2597 |
}; |
|
2597 |
}; |
| 2598 |
struct vki_console_font_op { |
|
2598 |
struct vki_console_font_op { |
| 2599 |
unsigned int op ; |
|
2599 |
unsigned int op ; |
| 2600 |
unsigned int flags ; |
|
2600 |
unsigned int flags ; |
| 2601 |
unsigned int width ; |
|
2601 |
unsigned int width ; |
| 2602 |
unsigned int height ; |
|
2602 |
unsigned int height ; |
| 2603 |
unsigned int charcount ; |
|
2603 |
unsigned int charcount ; |
| 2604 |
unsigned char *data ; |
|
2604 |
unsigned char *data ; |
| 2605 |
}; |
|
2605 |
}; |
| 2606 |
typedef __vki_kernel_uid32_t vki_qid_t; |
|
2606 |
typedef __vki_kernel_uid32_t vki_qid_t; |
| 2607 |
struct __anonstruct_93 { |
|
2607 |
struct __anonstruct_93 { |
| 2608 |
int : 0 ; |
|
2608 |
int : 0 ; |
| 2609 |
}; |
|
2609 |
}; |
| 2610 |
struct __anonstruct_94 { |
|
2610 |
struct __anonstruct_94 { |
| 2611 |
int : 0 ; |
|
2611 |
int : 0 ; |
| 2612 |
}; |
|
2612 |
}; |
| 2613 |
enum __anonenum_92 { |
|
2613 |
enum __anonenum_92 { |
| 2614 |
VKI_SNDRV_PCM_IOCTL_HW_FREE = 16658, |
|
2614 |
VKI_SNDRV_PCM_IOCTL_HW_FREE = 16658, |
| 2615 |
VKI_SNDRV_PCM_IOCTL_HWSYNC = 16674, |
|
2615 |
VKI_SNDRV_PCM_IOCTL_HWSYNC = 16674, |
| 2616 |
VKI_SNDRV_PCM_IOCTL_PREPARE = 16704, |
|
2616 |
VKI_SNDRV_PCM_IOCTL_PREPARE = 16704, |
| 2617 |
VKI_SNDRV_PCM_IOCTL_RESET = 16705, |
|
2617 |
VKI_SNDRV_PCM_IOCTL_RESET = 16705, |
| 2618 |
VKI_SNDRV_PCM_IOCTL_START = 16706, |
|
2618 |
VKI_SNDRV_PCM_IOCTL_START = 16706, |
| 2619 |
VKI_SNDRV_PCM_IOCTL_DROP = 16707, |
|
2619 |
VKI_SNDRV_PCM_IOCTL_DROP = 16707, |
| 2620 |
VKI_SNDRV_PCM_IOCTL_DRAIN = 16708, |
|
2620 |
VKI_SNDRV_PCM_IOCTL_DRAIN = 16708, |
| 2621 |
VKI_SNDRV_PCM_IOCTL_PAUSE = 1074020677, |
|
2621 |
VKI_SNDRV_PCM_IOCTL_PAUSE = 1074020677, |
| 2622 |
VKI_SNDRV_PCM_IOCTL_RESUME = 16711, |
|
2622 |
VKI_SNDRV_PCM_IOCTL_RESUME = 16711, |
| 2623 |
VKI_SNDRV_PCM_IOCTL_XRUN = 16712, |
|
2623 |
VKI_SNDRV_PCM_IOCTL_XRUN = 16712, |
| 2624 |
VKI_SNDRV_PCM_IOCTL_LINK = 1074020704, |
|
2624 |
VKI_SNDRV_PCM_IOCTL_LINK = 1074020704, |
| 2625 |
VKI_SNDRV_PCM_IOCTL_UNLINK = 16737 |
|
2625 |
VKI_SNDRV_PCM_IOCTL_UNLINK = 16737 |
| 2626 |
} ; |
|
2626 |
} ; |
| 2627 |
enum __anonenum_95 { |
|
2627 |
enum __anonenum_95 { |
| 2628 |
VKI_SNDRV_TIMER_IOCTL_START = 21664, |
|
2628 |
VKI_SNDRV_TIMER_IOCTL_START = 21664, |
| 2629 |
VKI_SNDRV_TIMER_IOCTL_STOP = 21665, |
|
2629 |
VKI_SNDRV_TIMER_IOCTL_STOP = 21665, |
| 2630 |
VKI_SNDRV_TIMER_IOCTL_CONTINUE = 21666, |
|
2630 |
VKI_SNDRV_TIMER_IOCTL_CONTINUE = 21666, |
| 2631 |
VKI_SNDRV_TIMER_IOCTL_PAUSE = 21667 |
|
2631 |
VKI_SNDRV_TIMER_IOCTL_PAUSE = 21667 |
| 2632 |
} ; |
|
2632 |
} ; |
| 2633 |
struct vki_serial_icounter_struct { |
|
2633 |
struct vki_serial_icounter_struct { |
| 2634 |
int cts ; |
|
2634 |
int cts ; |
| 2635 |
int dsr ; |
|
2635 |
int dsr ; |
| 2636 |
int rng ; |
|
2636 |
int rng ; |
| 2637 |
int dcd ; |
|
2637 |
int dcd ; |
| 2638 |
int rx ; |
|
2638 |
int rx ; |
| 2639 |
int tx ; |
|
2639 |
int tx ; |
| 2640 |
int frame ; |
|
2640 |
int frame ; |
| 2641 |
int overrun ; |
|
2641 |
int overrun ; |
| 2642 |
int parity ; |
|
2642 |
int parity ; |
| 2643 |
int brk ; |
|
2643 |
int brk ; |
| 2644 |
int buf_overrun ; |
|
2644 |
int buf_overrun ; |
| 2645 |
int reserved[9] ; |
|
2645 |
int reserved[9] ; |
| 2646 |
}; |
|
2646 |
}; |
| 2647 |
struct vki_vt_mode { |
|
2647 |
struct vki_vt_mode { |
| 2648 |
char mode ; |
|
2648 |
char mode ; |
| 2649 |
char waitv ; |
|
2649 |
char waitv ; |
| 2650 |
short relsig ; |
|
2650 |
short relsig ; |
| 2651 |
short acqsig ; |
|
2651 |
short acqsig ; |
| 2652 |
short frsig ; |
|
2652 |
short frsig ; |
| 2653 |
}; |
|
2653 |
}; |
| 2654 |
struct vki_vt_stat { |
|
2654 |
struct vki_vt_stat { |
| 2655 |
unsigned short v_active ; |
|
2655 |
unsigned short v_active ; |
| 2656 |
unsigned short v_signal ; |
|
2656 |
unsigned short v_signal ; |
| 2657 |
unsigned short v_state ; |
|
2657 |
unsigned short v_state ; |
| 2658 |
}; |
|
2658 |
}; |
| 2659 |
struct vki_vt_sizes { |
|
2659 |
struct vki_vt_sizes { |
| 2660 |
unsigned short v_rows ; |
|
2660 |
unsigned short v_rows ; |
| 2661 |
unsigned short v_cols ; |
|
2661 |
unsigned short v_cols ; |
| 2662 |
unsigned short v_scrollsize ; |
|
2662 |
unsigned short v_scrollsize ; |
| 2663 |
}; |
|
2663 |
}; |
| 2664 |
struct vki_vt_consize { |
|
2664 |
struct vki_vt_consize { |
| 2665 |
unsigned short v_rows ; |
|
2665 |
unsigned short v_rows ; |
| 2666 |
unsigned short v_cols ; |
|
2666 |
unsigned short v_cols ; |
| 2667 |
unsigned short v_vlin ; |
|
2667 |
unsigned short v_vlin ; |
| 2668 |
unsigned short v_clin ; |
|
2668 |
unsigned short v_clin ; |
| 2669 |
unsigned short v_vcol ; |
|
2669 |
unsigned short v_vcol ; |
| 2670 |
unsigned short v_ccol ; |
|
2670 |
unsigned short v_ccol ; |
| 2671 |
}; |
|
2671 |
}; |
| 2672 |
struct vki_usbdevfs_ctrltransfer { |
|
2672 |
struct vki_usbdevfs_ctrltransfer { |
| 2673 |
__vki_u8 bRequestType ; |
|
2673 |
__vki_u8 bRequestType ; |
| 2674 |
__vki_u8 bRequest ; |
|
2674 |
__vki_u8 bRequest ; |
| 2675 |
__vki_u16 wValue ; |
|
2675 |
__vki_u16 wValue ; |
| 2676 |
__vki_u16 wIndex ; |
|
2676 |
__vki_u16 wIndex ; |
| 2677 |
__vki_u16 wLength ; |
|
2677 |
__vki_u16 wLength ; |
| 2678 |
__vki_u32 timeout ; |
|
2678 |
__vki_u32 timeout ; |
| 2679 |
void *data ; |
|
2679 |
void *data ; |
| 2680 |
}; |
|
2680 |
}; |
| 2681 |
struct vki_usbdevfs_bulktransfer { |
|
2681 |
struct vki_usbdevfs_bulktransfer { |
| 2682 |
unsigned int ep ; |
|
2682 |
unsigned int ep ; |
| 2683 |
unsigned int len ; |
|
2683 |
unsigned int len ; |
| 2684 |
unsigned int timeout ; |
|
2684 |
unsigned int timeout ; |
| 2685 |
void *data ; |
|
2685 |
void *data ; |
| 2686 |
}; |
|
2686 |
}; |
| 2687 |
struct vki_usbdevfs_getdriver { |
|
2687 |
struct vki_usbdevfs_getdriver { |
| 2688 |
unsigned int interface ; |
|
2688 |
unsigned int interface ; |
| 2689 |
char driver[256] ; |
|
2689 |
char driver[256] ; |
| 2690 |
}; |
|
2690 |
}; |
| 2691 |
struct vki_usbdevfs_connectinfo { |
|
2691 |
struct vki_usbdevfs_connectinfo { |
| 2692 |
unsigned int devnum ; |
|
2692 |
unsigned int devnum ; |
| 2693 |
unsigned char slow ; |
|
2693 |
unsigned char slow ; |
| 2694 |
}; |
|
2694 |
}; |
| 2695 |
struct vki_usbdevfs_iso_packet_desc { |
|
2695 |
struct vki_usbdevfs_iso_packet_desc { |
| 2696 |
unsigned int length ; |
|
2696 |
unsigned int length ; |
| 2697 |
unsigned int actual_length ; |
|
2697 |
unsigned int actual_length ; |
| 2698 |
unsigned int status ; |
|
2698 |
unsigned int status ; |
| 2699 |
}; |
|
2699 |
}; |
| 2700 |
struct vki_usbdevfs_urb { |
|
2700 |
struct vki_usbdevfs_urb { |
| 2701 |
unsigned char type ; |
|
2701 |
unsigned char type ; |
| 2702 |
unsigned char endpoint ; |
|
2702 |
unsigned char endpoint ; |
| 2703 |
int status ; |
|
2703 |
int status ; |
| 2704 |
unsigned int flags ; |
|
2704 |
unsigned int flags ; |
| 2705 |
void *buffer ; |
|
2705 |
void *buffer ; |
| 2706 |
int buffer_length ; |
|
2706 |
int buffer_length ; |
| 2707 |
int actual_length ; |
|
2707 |
int actual_length ; |
| 2708 |
int start_frame ; |
|
2708 |
int start_frame ; |
| 2709 |
int number_of_packets ; |
|
2709 |
int number_of_packets ; |
| 2710 |
int error_count ; |
|
2710 |
int error_count ; |
| 2711 |
unsigned int signr ; |
|
2711 |
unsigned int signr ; |
| 2712 |
void *usercontext ; |
|
2712 |
void *usercontext ; |
| 2713 |
struct vki_usbdevfs_iso_packet_desc iso_frame_desc[0] ; |
|
2713 |
struct vki_usbdevfs_iso_packet_desc iso_frame_desc[0] ; |
| 2714 |
}; |
|
2714 |
}; |
| 2715 |
struct vki_usbdevfs_ioctl { |
|
2715 |
struct vki_usbdevfs_ioctl { |
| 2716 |
int ifno ; |
|
2716 |
int ifno ; |
| 2717 |
int ioctl_code ; |
|
2717 |
int ioctl_code ; |
| 2718 |
void *data ; |
|
2718 |
void *data ; |
| 2719 |
}; |
|
2719 |
}; |
| 2720 |
struct vki_usbdevfs_setuppacket { |
|
2720 |
struct vki_usbdevfs_setuppacket { |
| 2721 |
__vki_u8 bRequestType ; |
|
2721 |
__vki_u8 bRequestType ; |
| 2722 |
__vki_u8 bRequest ; |
|
2722 |
__vki_u8 bRequest ; |
| 2723 |
__vki_u16 wValue ; |
|
2723 |
__vki_u16 wValue ; |
| 2724 |
__vki_u16 wIndex ; |
|
2724 |
__vki_u16 wIndex ; |
| 2725 |
__vki_u16 wLength ; |
|
2725 |
__vki_u16 wLength ; |
| 2726 |
}; |
|
2726 |
}; |
| 2727 |
typedef vki_int32_t vki_key_serial_t; |
|
2727 |
typedef vki_int32_t vki_key_serial_t; |
| 2728 |
typedef vki_uint32_t vki_key_perm_t; |
|
2728 |
typedef vki_uint32_t vki_key_perm_t; |
| 2729 |
struct vki_iw_param { |
|
2729 |
struct vki_iw_param { |
| 2730 |
__vki_s32 value ; |
|
2730 |
__vki_s32 value ; |
| 2731 |
__vki_u8 fixed ; |
|
2731 |
__vki_u8 fixed ; |
| 2732 |
__vki_u8 disabled ; |
|
2732 |
__vki_u8 disabled ; |
| 2733 |
__vki_u16 flags ; |
|
2733 |
__vki_u16 flags ; |
| 2734 |
}; |
|
2734 |
}; |
| 2735 |
struct vki_iw_point { |
|
2735 |
struct vki_iw_point { |
| 2736 |
void *pointer ; |
|
2736 |
void *pointer ; |
| 2737 |
__vki_u16 length ; |
|
2737 |
__vki_u16 length ; |
| 2738 |
__vki_u16 flags ; |
|
2738 |
__vki_u16 flags ; |
| 2739 |
}; |
|
2739 |
}; |
| 2740 |
struct vki_iw_freq { |
|
2740 |
struct vki_iw_freq { |
| 2741 |
__vki_s32 m ; |
|
2741 |
__vki_s32 m ; |
| 2742 |
__vki_s16 e ; |
|
2742 |
__vki_s16 e ; |
| 2743 |
__vki_u8 i ; |
|
2743 |
__vki_u8 i ; |
| 2744 |
__vki_u8 flags ; |
|
2744 |
__vki_u8 flags ; |
| 2745 |
}; |
|
2745 |
}; |
| 2746 |
struct vki_iw_quality { |
|
2746 |
struct vki_iw_quality { |
| 2747 |
__vki_u8 qual ; |
|
2747 |
__vki_u8 qual ; |
| 2748 |
__vki_u8 level ; |
|
2748 |
__vki_u8 level ; |
| 2749 |
__vki_u8 noise ; |
|
2749 |
__vki_u8 noise ; |
| 2750 |
__vki_u8 updated ; |
|
2750 |
__vki_u8 updated ; |
| 2751 |
}; |
|
2751 |
}; |
| 2752 |
union vki_iwreq_data { |
|
2752 |
union vki_iwreq_data { |
| 2753 |
char name[16] ; |
|
2753 |
char name[16] ; |
| 2754 |
struct vki_iw_point essid ; |
|
2754 |
struct vki_iw_point essid ; |
| 2755 |
struct vki_iw_param nwid ; |
|
2755 |
struct vki_iw_param nwid ; |
| 2756 |
struct vki_iw_freq freq ; |
|
2756 |
struct vki_iw_freq freq ; |
| 2757 |
struct vki_iw_param sens ; |
|
2757 |
struct vki_iw_param sens ; |
| 2758 |
struct vki_iw_param bitrate ; |
|
2758 |
struct vki_iw_param bitrate ; |
| 2759 |
struct vki_iw_param txpower ; |
|
2759 |
struct vki_iw_param txpower ; |
| 2760 |
struct vki_iw_param rts ; |
|
2760 |
struct vki_iw_param rts ; |
| 2761 |
struct vki_iw_param frag ; |
|
2761 |
struct vki_iw_param frag ; |
| 2762 |
__vki_u32 mode ; |
|
2762 |
__vki_u32 mode ; |
| 2763 |
struct vki_iw_param retry ; |
|
2763 |
struct vki_iw_param retry ; |
| 2764 |
struct vki_iw_point encoding ; |
|
2764 |
struct vki_iw_point encoding ; |
| 2765 |
struct vki_iw_param power ; |
|
2765 |
struct vki_iw_param power ; |
| 2766 |
struct vki_iw_quality qual ; |
|
2766 |
struct vki_iw_quality qual ; |
| 2767 |
struct vki_sockaddr ap_addr ; |
|
2767 |
struct vki_sockaddr ap_addr ; |
| 2768 |
struct vki_sockaddr addr ; |
|
2768 |
struct vki_sockaddr addr ; |
| 2769 |
struct vki_iw_param param ; |
|
2769 |
struct vki_iw_param param ; |
| 2770 |
struct vki_iw_point data ; |
|
2770 |
struct vki_iw_point data ; |
| 2771 |
}; |
|
2771 |
}; |
| 2772 |
union __anonunion_ifr_ifrn_96 { |
|
2772 |
union __anonunion_ifr_ifrn_96 { |
| 2773 |
char ifrn_name[16] ; |
|
2773 |
char ifrn_name[16] ; |
| 2774 |
}; |
|
2774 |
}; |
| 2775 |
struct vki_iwreq { |
|
2775 |
struct vki_iwreq { |
| 2776 |
union __anonunion_ifr_ifrn_96 ifr_ifrn ; |
|
2776 |
union __anonunion_ifr_ifrn_96 ifr_ifrn ; |
| 2777 |
union vki_iwreq_data u ; |
|
2777 |
union vki_iwreq_data u ; |
| 2778 |
}; |
|
2778 |
}; |
| 2779 |
union __anonunion____missing_field_name_97 { |
|
2779 |
union __anonunion____missing_field_name_97 { |
| 2780 |
__vki_u64 sample_period ; |
|
2780 |
__vki_u64 sample_period ; |
| 2781 |
__vki_u64 sample_freq ; |
|
2781 |
__vki_u64 sample_freq ; |
| 2782 |
}; |
|
2782 |
}; |
| 2783 |
union __anonunion____missing_field_name_98 { |
|
2783 |
union __anonunion____missing_field_name_98 { |
| 2784 |
__vki_u32 wakeup_events ; |
|
2784 |
__vki_u32 wakeup_events ; |
| 2785 |
__vki_u32 wakeup_watermark ; |
|
2785 |
__vki_u32 wakeup_watermark ; |
| 2786 |
}; |
|
2786 |
}; |
| 2787 |
union __anonunion____missing_field_name_99 { |
|
2787 |
union __anonunion____missing_field_name_99 { |
| 2788 |
__vki_u64 bp_addr ; |
|
2788 |
__vki_u64 bp_addr ; |
| 2789 |
__vki_u64 config1 ; |
|
2789 |
__vki_u64 config1 ; |
| 2790 |
}; |
|
2790 |
}; |
| 2791 |
union __anonunion____missing_field_name_100 { |
|
2791 |
union __anonunion____missing_field_name_100 { |
| 2792 |
__vki_u64 bp_len ; |
|
2792 |
__vki_u64 bp_len ; |
| 2793 |
__vki_u64 config2 ; |
|
2793 |
__vki_u64 config2 ; |
| 2794 |
}; |
|
2794 |
}; |
| 2795 |
struct vki_perf_event_attr { |
|
2795 |
struct vki_perf_event_attr { |
| 2796 |
__vki_u32 type ; |
|
2796 |
__vki_u32 type ; |
| 2797 |
__vki_u32 size ; |
|
2797 |
__vki_u32 size ; |
| 2798 |
__vki_u64 config ; |
|
2798 |
__vki_u64 config ; |
| 2799 |
union __anonunion____missing_field_name_97 __annonCompField1 ; |
|
2799 |
union __anonunion____missing_field_name_97 __annonCompField1 ; |
| 2800 |
__vki_u64 sample_type ; |
|
2800 |
__vki_u64 sample_type ; |
| 2801 |
__vki_u64 read_format ; |
|
2801 |
__vki_u64 read_format ; |
| 2802 |
__vki_u64 disabled : 1 ; |
|
2802 |
__vki_u64 disabled : 1 ; |
| 2803 |
__vki_u64 inherit : 1 ; |
|
2803 |
__vki_u64 inherit : 1 ; |
| 2804 |
__vki_u64 pinned : 1 ; |
|
2804 |
__vki_u64 pinned : 1 ; |
| 2805 |
__vki_u64 exclusive : 1 ; |
|
2805 |
__vki_u64 exclusive : 1 ; |
| 2806 |
__vki_u64 exclude_user : 1 ; |
|
2806 |
__vki_u64 exclude_user : 1 ; |
| 2807 |
__vki_u64 exclude_kernel : 1 ; |
|
2807 |
__vki_u64 exclude_kernel : 1 ; |
| 2808 |
__vki_u64 exclude_hv : 1 ; |
|
2808 |
__vki_u64 exclude_hv : 1 ; |
| 2809 |
__vki_u64 exclude_idle : 1 ; |
|
2809 |
__vki_u64 exclude_idle : 1 ; |
| 2810 |
__vki_u64 mmap : 1 ; |
|
2810 |
__vki_u64 mmap : 1 ; |
| 2811 |
__vki_u64 comm : 1 ; |
|
2811 |
__vki_u64 comm : 1 ; |
| 2812 |
__vki_u64 freq : 1 ; |
|
2812 |
__vki_u64 freq : 1 ; |
| 2813 |
__vki_u64 inherit_stat : 1 ; |
|
2813 |
__vki_u64 inherit_stat : 1 ; |
| 2814 |
__vki_u64 enable_on_exec : 1 ; |
|
2814 |
__vki_u64 enable_on_exec : 1 ; |
| 2815 |
__vki_u64 task : 1 ; |
|
2815 |
__vki_u64 task : 1 ; |
| 2816 |
__vki_u64 watermark : 1 ; |
|
2816 |
__vki_u64 watermark : 1 ; |
| 2817 |
__vki_u64 precise_ip : 2 ; |
|
2817 |
__vki_u64 precise_ip : 2 ; |
| 2818 |
__vki_u64 mmap_data : 1 ; |
|
2818 |
__vki_u64 mmap_data : 1 ; |
| 2819 |
__vki_u64 sample_id_all : 1 ; |
|
2819 |
__vki_u64 sample_id_all : 1 ; |
| 2820 |
__vki_u64 __reserved_1 : 45 ; |
|
2820 |
__vki_u64 __reserved_1 : 45 ; |
| 2821 |
union __anonunion____missing_field_name_98 __annonCompField2 ; |
|
2821 |
union __anonunion____missing_field_name_98 __annonCompField2 ; |
| 2822 |
__vki_u32 bp_type ; |
|
2822 |
__vki_u32 bp_type ; |
| 2823 |
union __anonunion____missing_field_name_99 __annonCompField3 ; |
|
2823 |
union __anonunion____missing_field_name_99 __annonCompField3 ; |
| 2824 |
union __anonunion____missing_field_name_100 __annonCompField4 ; |
|
2824 |
union __anonunion____missing_field_name_100 __annonCompField4 ; |
| 2825 |
}; |
|
2825 |
}; |
| 2826 |
struct vki_getcpu_cache { |
|
2826 |
struct vki_getcpu_cache { |
| 2827 |
unsigned long blob[128U / sizeof(long )] ; |
|
2827 |
unsigned long blob[128U / sizeof(long )] ; |
| 2828 |
}; |
|
2828 |
}; |
| 2829 |
typedef int __jmp_buf[6]; |
|
2829 |
typedef int __jmp_buf[6]; |
| 2830 |
typedef int __sig_atomic_t; |
|
2830 |
typedef int __sig_atomic_t; |
| 2831 |
struct __anonstruct___sigset_t_101 { |
|
2831 |
struct __anonstruct___sigset_t_101 { |
| 2832 |
unsigned long __val[1024U / (8U * sizeof(unsigned long ))] ; |
|
2832 |
unsigned long __val[1024U / (8U * sizeof(unsigned long ))] ; |
| 2833 |
}; |
|
2833 |
}; |
| 2834 |
typedef struct __anonstruct___sigset_t_101 __sigset_t; |
|
2834 |
typedef struct __anonstruct___sigset_t_101 __sigset_t; |
| 2835 |
struct __jmp_buf_tag { |
|
2835 |
struct __jmp_buf_tag { |
| 2836 |
__jmp_buf __jmpbuf ; |
|
2836 |
__jmp_buf __jmpbuf ; |
| 2837 |
int __mask_was_saved ; |
|
2837 |
int __mask_was_saved ; |
| 2838 |
__sigset_t __saved_mask ; |
|
2838 |
__sigset_t __saved_mask ; |
| 2839 |
}; |
|
2839 |
}; |
| 2840 |
typedef struct __jmp_buf_tag jmp_buf[1]; |
|
2840 |
typedef struct __jmp_buf_tag jmp_buf[1]; |
| 2841 |
typedef struct __jmp_buf_tag sigjmp_buf[1]; |
|
2841 |
typedef struct __jmp_buf_tag sigjmp_buf[1]; |
| 2842 |
enum ThreadStatus { |
|
2842 |
enum ThreadStatus { |
| 2843 |
VgTs_Empty = 0, |
|
2843 |
VgTs_Empty = 0, |
| 2844 |
VgTs_Init = 1, |
|
2844 |
VgTs_Init = 1, |
| 2845 |
VgTs_Runnable = 2, |
|
2845 |
VgTs_Runnable = 2, |
| 2846 |
VgTs_WaitSys = 3, |
|
2846 |
VgTs_WaitSys = 3, |
| 2847 |
VgTs_Yielding = 4, |
|
2847 |
VgTs_Yielding = 4, |
| 2848 |
VgTs_Zombie = 5 |
|
2848 |
VgTs_Zombie = 5 |
| 2849 |
} ; |
|
2849 |
} ; |
| 2850 |
typedef enum ThreadStatus ThreadStatus; |
|
2850 |
typedef enum ThreadStatus ThreadStatus; |
| 2851 |
enum __anonenum_VgSchedReturnCode_102 { |
|
2851 |
enum __anonenum_VgSchedReturnCode_102 { |
| 2852 |
VgSrc_None = 0, |
|
2852 |
VgSrc_None = 0, |
| 2853 |
VgSrc_ExitThread = 1, |
|
2853 |
VgSrc_ExitThread = 1, |
| 2854 |
VgSrc_ExitProcess = 2, |
|
2854 |
VgSrc_ExitProcess = 2, |
| 2855 |
VgSrc_FatalSig = 3 |
|
2855 |
VgSrc_FatalSig = 3 |
| 2856 |
} ; |
|
2856 |
} ; |
| 2857 |
typedef enum __anonenum_VgSchedReturnCode_102 VgSchedReturnCode; |
|
2857 |
typedef enum __anonenum_VgSchedReturnCode_102 VgSchedReturnCode; |
| 2858 |
typedef VexGuestX86State VexGuestArchState; |
|
2858 |
typedef VexGuestX86State VexGuestArchState; |
| 2859 |
struct SyscallStatus; |
|
2859 |
struct SyscallStatus; |
| 2860 |
struct SyscallStatus; |
|
2860 |
struct SyscallStatus; |
| 2861 |
struct SyscallArgs; |
|
2861 |
struct SyscallArgs; |
| 2862 |
struct SyscallArgs; |
|
2862 |
struct SyscallArgs; |
| 2863 |
struct __anonstruct_ThreadArchState_103 { |
|
2863 |
struct __anonstruct_ThreadArchState_103 { |
| 2864 |
VexGuestArchState vex __attribute__((__aligned__(16))) ; |
|
2864 |
VexGuestArchState vex __attribute__((__aligned__(16))) ; |
| 2865 |
VexGuestArchState vex_shadow1 __attribute__((__aligned__(16))) ; |
|
2865 |
VexGuestArchState vex_shadow1 __attribute__((__aligned__(16))) ; |
| 2866 |
VexGuestArchState vex_shadow2 __attribute__((__aligned__(16))) ; |
|
2866 |
VexGuestArchState vex_shadow2 __attribute__((__aligned__(16))) ; |
| 2867 |
UChar vex_spill[4096] __attribute__((__aligned__(16))) ; |
|
2867 |
UChar vex_spill[4096] __attribute__((__aligned__(16))) ; |
| 2868 |
}; |
|
2868 |
}; |
| 2869 |
typedef struct __anonstruct_ThreadArchState_103 ThreadArchState; |
|
2869 |
typedef struct __anonstruct_ThreadArchState_103 ThreadArchState; |
| 2870 |
struct __anonstruct_ThreadOSstate_104 { |
|
2870 |
struct __anonstruct_ThreadOSstate_104 { |
| 2871 |
Int lwpid ; |
|
2871 |
Int lwpid ; |
| 2872 |
Int threadgroup ; |
|
2872 |
Int threadgroup ; |
| 2873 |
ThreadId parent ; |
|
2873 |
ThreadId parent ; |
| 2874 |
Addr valgrind_stack_base ; |
|
2874 |
Addr valgrind_stack_base ; |
| 2875 |
Addr valgrind_stack_init_SP ; |
|
2875 |
Addr valgrind_stack_init_SP ; |
| 2876 |
Word exitcode ; |
|
2876 |
Word exitcode ; |
| 2877 |
Int fatalsig ; |
|
2877 |
Int fatalsig ; |
| 2878 |
}; |
|
2878 |
}; |
| 2879 |
typedef struct __anonstruct_ThreadOSstate_104 ThreadOSstate; |
|
2879 |
typedef struct __anonstruct_ThreadOSstate_104 ThreadOSstate; |
| 2880 |
struct SigQueue; |
|
2880 |
struct SigQueue; |
| 2881 |
struct __anonstruct_ThreadState_105 { |
|
2881 |
struct __anonstruct_ThreadState_105 { |
| 2882 |
ThreadId tid ; |
|
2882 |
ThreadId tid ; |
| 2883 |
ThreadStatus status ; |
|
2883 |
ThreadStatus status ; |
| 2884 |
VgSchedReturnCode exitreason ; |
|
2884 |
VgSchedReturnCode exitreason ; |
| 2885 |
ThreadArchState arch ; |
|
2885 |
ThreadArchState arch ; |
| 2886 |
vki_sigset_t sig_mask ; |
|
2886 |
vki_sigset_t sig_mask ; |
| 2887 |
vki_sigset_t tmp_sig_mask ; |
|
2887 |
vki_sigset_t tmp_sig_mask ; |
| 2888 |
struct SigQueue *sig_queue ; |
|
2888 |
struct SigQueue *sig_queue ; |
| 2889 |
SizeT client_stack_szB ; |
|
2889 |
SizeT client_stack_szB ; |
| 2890 |
Addr client_stack_highest_word ; |
|
2890 |
Addr client_stack_highest_word ; |
| 2891 |
vki_stack_t altstack ; |
|
2891 |
vki_stack_t altstack ; |
| 2892 |
ThreadOSstate os_state ; |
|
2892 |
ThreadOSstate os_state ; |
| 2893 |
Bool sched_jmpbuf_valid ; |
|
2893 |
Bool sched_jmpbuf_valid ; |
| 2894 |
jmp_buf sched_jmpbuf ; |
|
2894 |
jmp_buf sched_jmpbuf ; |
| 2895 |
}; |
|
2895 |
}; |
| 2896 |
typedef struct __anonstruct_ThreadState_105 ThreadState; |
|
2896 |
typedef struct __anonstruct_ThreadState_105 ThreadState; |
| 2897 |
enum __anonenum_SegKind_106 { |
|
2897 |
enum __anonenum_SegKind_106 { |
| 2898 |
SkFree = 0, |
|
2898 |
SkFree = 0, |
| 2899 |
SkAnonC = 1, |
|
2899 |
SkAnonC = 1, |
| 2900 |
SkAnonV = 2, |
|
2900 |
SkAnonV = 2, |
| 2901 |
SkFileC = 3, |
|
2901 |
SkFileC = 3, |
| 2902 |
SkFileV = 4, |
|
2902 |
SkFileV = 4, |
| 2903 |
SkShmC = 5, |
|
2903 |
SkShmC = 5, |
| 2904 |
SkResvn = 6 |
|
2904 |
SkResvn = 6 |
| 2905 |
} ; |
|
2905 |
} ; |
| 2906 |
typedef enum __anonenum_SegKind_106 SegKind; |
|
2906 |
typedef enum __anonenum_SegKind_106 SegKind; |
| 2907 |
enum __anonenum_ShrinkMode_107 { |
|
2907 |
enum __anonenum_ShrinkMode_107 { |
| 2908 |
SmLower = 0, |
|
2908 |
SmLower = 0, |
| 2909 |
SmFixed = 1, |
|
2909 |
SmFixed = 1, |
| 2910 |
SmUpper = 2 |
|
2910 |
SmUpper = 2 |
| 2911 |
} ; |
|
2911 |
} ; |
| 2912 |
typedef enum __anonenum_ShrinkMode_107 ShrinkMode; |
|
2912 |
typedef enum __anonenum_ShrinkMode_107 ShrinkMode; |
| 2913 |
struct __anonstruct_NSegment_108 { |
|
2913 |
struct __anonstruct_NSegment_108 { |
| 2914 |
SegKind kind ; |
|
2914 |
SegKind kind ; |
| 2915 |
Addr start ; |
|
2915 |
Addr start ; |
| 2916 |
Addr end ; |
|
2916 |
Addr end ; |
| 2917 |
ShrinkMode smode ; |
|
2917 |
ShrinkMode smode ; |
| 2918 |
ULong dev ; |
|
2918 |
ULong dev ; |
| 2919 |
ULong ino ; |
|
2919 |
ULong ino ; |
| 2920 |
Off64T offset ; |
|
2920 |
Off64T offset ; |
| 2921 |
UInt mode ; |
|
2921 |
UInt mode ; |
| 2922 |
Int fnIdx ; |
|
2922 |
Int fnIdx ; |
| 2923 |
Bool hasR ; |
|
2923 |
Bool hasR ; |
| 2924 |
Bool hasW ; |
|
2924 |
Bool hasW ; |
| 2925 |
Bool hasX ; |
|
2925 |
Bool hasX ; |
| 2926 |
Bool hasT ; |
|
2926 |
Bool hasT ; |
| 2927 |
Bool isCH ; |
|
2927 |
Bool isCH ; |
| 2928 |
Bool mark ; |
|
2928 |
Bool mark ; |
| 2929 |
}; |
|
2929 |
}; |
| 2930 |
typedef struct __anonstruct_NSegment_108 NSegment; |
|
2930 |
typedef struct __anonstruct_NSegment_108 NSegment; |
| 2931 |
enum __anonenum_rkind_110 { |
|
2931 |
enum __anonenum_rkind_110 { |
| 2932 |
MFixed = 0, |
|
2932 |
MFixed = 0, |
| 2933 |
MHint = 1, |
|
2933 |
MHint = 1, |
| 2934 |
MAny = 2 |
|
2934 |
MAny = 2 |
| 2935 |
} ; |
|
2935 |
} ; |
| 2936 |
struct __anonstruct_MapRequest_109 { |
|
2936 |
struct __anonstruct_MapRequest_109 { |
| 2937 |
enum __anonenum_rkind_110 rkind ; |
|
2937 |
enum __anonenum_rkind_110 rkind ; |
| 2938 |
Addr start ; |
|
2938 |
Addr start ; |
| 2939 |
Addr len ; |
|
2939 |
Addr len ; |
| 2940 |
}; |
|
2940 |
}; |
| 2941 |
typedef struct __anonstruct_MapRequest_109 MapRequest; |
|
2941 |
typedef struct __anonstruct_MapRequest_109 MapRequest; |
| 2942 |
struct __anonstruct_AixCodeSegChange_111 { |
|
2942 |
struct __anonstruct_AixCodeSegChange_111 { |
| 2943 |
Addr code_start ; |
|
2943 |
Addr code_start ; |
| 2944 |
Word code_len ; |
|
2944 |
Word code_len ; |
| 2945 |
Addr data_start ; |
|
2945 |
Addr data_start ; |
| 2946 |
Word data_len ; |
|
2946 |
Word data_len ; |
| 2947 |
UChar *file_name ; |
|
2947 |
UChar *file_name ; |
| 2948 |
UChar *mem_name ; |
|
2948 |
UChar *mem_name ; |
| 2949 |
Bool is_mainexe ; |
|
2949 |
Bool is_mainexe ; |
| 2950 |
Bool acquire ; |
|
2950 |
Bool acquire ; |
| 2951 |
}; |
|
2951 |
}; |
| 2952 |
typedef struct __anonstruct_AixCodeSegChange_111 AixCodeSegChange; |
|
2952 |
typedef struct __anonstruct_AixCodeSegChange_111 AixCodeSegChange; |
| 2953 |
struct __anonstruct_VgStack_112 { |
|
2953 |
struct __anonstruct_VgStack_112 { |
| 2954 |
HChar bytes[1064960] ; |
|
2954 |
HChar bytes[1064960] ; |
| 2955 |
}; |
|
2955 |
}; |
| 2956 |
typedef struct __anonstruct_VgStack_112 VgStack; |
|
2956 |
typedef struct __anonstruct_VgStack_112 VgStack; |
| 2957 |
struct __anonstruct_OrigFn_113 { |
|
2957 |
struct __anonstruct_OrigFn_113 { |
| 2958 |
unsigned int nraddr ; |
|
2958 |
unsigned int nraddr ; |
| 2959 |
}; |
|
2959 |
}; |
| 2960 |
typedef struct __anonstruct_OrigFn_113 OrigFn; |
|
2960 |
typedef struct __anonstruct_OrigFn_113 OrigFn; |
| 2961 |
enum __anonenum_Vg_ClientRequest_114 { |
|
2961 |
enum __anonenum_Vg_ClientRequest_114 { |
| 2962 |
VG_USERREQ__RUNNING_ON_VALGRIND = 4097, |
|
2962 |
VG_USERREQ__RUNNING_ON_VALGRIND = 4097, |
| 2963 |
VG_USERREQ__DISCARD_TRANSLATIONS = 4098, |
|
2963 |
VG_USERREQ__DISCARD_TRANSLATIONS = 4098, |
| 2964 |
VG_USERREQ__CLIENT_CALL0 = 4353, |
|
2964 |
VG_USERREQ__CLIENT_CALL0 = 4353, |
| 2965 |
VG_USERREQ__CLIENT_CALL1 = 4354, |
|
2965 |
VG_USERREQ__CLIENT_CALL1 = 4354, |
| 2966 |
VG_USERREQ__CLIENT_CALL2 = 4355, |
|
2966 |
VG_USERREQ__CLIENT_CALL2 = 4355, |
| 2967 |
VG_USERREQ__CLIENT_CALL3 = 4356, |
|
2967 |
VG_USERREQ__CLIENT_CALL3 = 4356, |
| 2968 |
VG_USERREQ__COUNT_ERRORS = 4609, |
|
2968 |
VG_USERREQ__COUNT_ERRORS = 4609, |
| 2969 |
VG_USERREQ__GDB_MONITOR_COMMAND = 4610, |
|
2969 |
VG_USERREQ__GDB_MONITOR_COMMAND = 4610, |
| 2970 |
VG_USERREQ__MALLOCLIKE_BLOCK = 4865, |
|
2970 |
VG_USERREQ__MALLOCLIKE_BLOCK = 4865, |
| 2971 |
VG_USERREQ__RESIZEINPLACE_BLOCK = 4875, |
|
2971 |
VG_USERREQ__RESIZEINPLACE_BLOCK = 4875, |
| 2972 |
VG_USERREQ__FREELIKE_BLOCK = 4866, |
|
2972 |
VG_USERREQ__FREELIKE_BLOCK = 4866, |
| 2973 |
VG_USERREQ__CREATE_MEMPOOL = 4867, |
|
2973 |
VG_USERREQ__CREATE_MEMPOOL = 4867, |
| 2974 |
VG_USERREQ__DESTROY_MEMPOOL = 4868, |
|
2974 |
VG_USERREQ__DESTROY_MEMPOOL = 4868, |
| 2975 |
VG_USERREQ__MEMPOOL_ALLOC = 4869, |
|
2975 |
VG_USERREQ__MEMPOOL_ALLOC = 4869, |
| 2976 |
VG_USERREQ__MEMPOOL_FREE = 4870, |
|
2976 |
VG_USERREQ__MEMPOOL_FREE = 4870, |
| 2977 |
VG_USERREQ__MEMPOOL_TRIM = 4871, |
|
2977 |
VG_USERREQ__MEMPOOL_TRIM = 4871, |
| 2978 |
VG_USERREQ__MOVE_MEMPOOL = 4872, |
|
2978 |
VG_USERREQ__MOVE_MEMPOOL = 4872, |
| 2979 |
VG_USERREQ__MEMPOOL_CHANGE = 4873, |
|
2979 |
VG_USERREQ__MEMPOOL_CHANGE = 4873, |
| 2980 |
VG_USERREQ__MEMPOOL_EXISTS = 4874, |
|
2980 |
VG_USERREQ__MEMPOOL_EXISTS = 4874, |
| 2981 |
VG_USERREQ__PRINTF = 5121, |
|
2981 |
VG_USERREQ__PRINTF = 5121, |
| 2982 |
VG_USERREQ__PRINTF_BACKTRACE = 5122, |
|
2982 |
VG_USERREQ__PRINTF_BACKTRACE = 5122, |
| 2983 |
VG_USERREQ__PRINTF_VALIST_BY_REF = 5123, |
|
2983 |
VG_USERREQ__PRINTF_VALIST_BY_REF = 5123, |
| 2984 |
VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF = 5124, |
|
2984 |
VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF = 5124, |
| 2985 |
VG_USERREQ__STACK_REGISTER = 5377, |
|
2985 |
VG_USERREQ__STACK_REGISTER = 5377, |
| 2986 |
VG_USERREQ__STACK_DEREGISTER = 5378, |
|
2986 |
VG_USERREQ__STACK_DEREGISTER = 5378, |
| 2987 |
VG_USERREQ__STACK_CHANGE = 5379, |
|
2987 |
VG_USERREQ__STACK_CHANGE = 5379, |
| 2988 |
VG_USERREQ__LOAD_PDB_DEBUGINFO = 5633, |
|
2988 |
VG_USERREQ__LOAD_PDB_DEBUGINFO = 5633, |
| 2989 |
VG_USERREQ__MAP_IP_TO_SRCLOC = 5889 |
|
2989 |
VG_USERREQ__MAP_IP_TO_SRCLOC = 5889 |
| 2990 |
} ; |
|
2990 |
} ; |
| 2991 |
typedef enum __anonenum_Vg_ClientRequest_114 Vg_ClientRequest; |
|
2991 |
typedef enum __anonenum_Vg_ClientRequest_114 Vg_ClientRequest; |
| 2992 |
enum __anonenum_Vg_InternalClientRequest_115 { |
|
2992 |
enum __anonenum_Vg_InternalClientRequest_115 { |
| 2993 |
VG_USERREQ__LIBC_FREERES_DONE = 12329, |
|
2993 |
VG_USERREQ__LIBC_FREERES_DONE = 12329, |
| 2994 |
VG_USERREQ__GET_MALLOCFUNCS = 12336, |
|
2994 |
VG_USERREQ__GET_MALLOCFUNCS = 12336, |
| 2995 |
VG_USERREQ__INTERNAL_PRINTF_VALIST_BY_REF = 12547, |
|
2995 |
VG_USERREQ__INTERNAL_PRINTF_VALIST_BY_REF = 12547, |
| 2996 |
VG_USERREQ__ADD_IFUNC_TARGET = 12548 |
|
2996 |
VG_USERREQ__ADD_IFUNC_TARGET = 12548 |
| 2997 |
} ; |
|
2997 |
} ; |
| 2998 |
typedef enum __anonenum_Vg_InternalClientRequest_115 Vg_InternalClientRequest; |
|
2998 |
typedef enum __anonenum_Vg_InternalClientRequest_115 Vg_InternalClientRequest; |
| 2999 |
struct _ExeContext; |
|
2999 |
struct _ExeContext; |
| 3000 |
typedef struct _ExeContext ExeContext; |
|
3000 |
typedef struct _ExeContext ExeContext; |
| 3001 |
enum __anonenum_VgRes_116 { |
|
3001 |
enum __anonenum_VgRes_116 { |
| 3002 |
Vg_LowRes = 0, |
|
3002 |
Vg_LowRes = 0, |
| 3003 |
Vg_MedRes = 1, |
|
3003 |
Vg_MedRes = 1, |
| 3004 |
Vg_HighRes = 2 |
|
3004 |
Vg_HighRes = 2 |
| 3005 |
} ; |
|
3005 |
} ; |
| 3006 |
typedef enum __anonenum_VgRes_116 VgRes; |
|
3006 |
typedef enum __anonenum_VgRes_116 VgRes; |
| 3007 |
typedef Int ErrorKind; |
|
3007 |
typedef Int ErrorKind; |
| 3008 |
struct _Error; |
|
3008 |
struct _Error; |
| 3009 |
typedef struct _Error Error; |
|
3009 |
typedef struct _Error Error; |
| 3010 |
typedef Int SuppKind; |
|
3010 |
typedef Int SuppKind; |
| 3011 |
struct _Supp; |
|
3011 |
struct _Supp; |
| 3012 |
typedef struct _Supp Supp; |
|
3012 |
typedef struct _Supp Supp; |
| 3013 |
enum __anonenum_CoreErrorKind_117 { |
|
3013 |
enum __anonenum_CoreErrorKind_117 { |
| 3014 |
ThreadErr = -1 |
|
3014 |
ThreadErr = -1 |
| 3015 |
} ; |
|
3015 |
} ; |
| 3016 |
typedef enum __anonenum_CoreErrorKind_117 CoreErrorKind; |
|
3016 |
typedef enum __anonenum_CoreErrorKind_117 CoreErrorKind; |
| 3017 |
enum __anonenum_PointKind_118 { |
|
3017 |
enum __anonenum_PointKind_118 { |
| 3018 |
software_breakpoint = 0, |
|
3018 |
software_breakpoint = 0, |
| 3019 |
hardware_breakpoint = 1, |
|
3019 |
hardware_breakpoint = 1, |
| 3020 |
write_watchpoint = 2, |
|
3020 |
write_watchpoint = 2, |
| 3021 |
read_watchpoint = 3, |
|
3021 |
read_watchpoint = 3, |
| 3022 |
access_watchpoint = 4 |
|
3022 |
access_watchpoint = 4 |
| 3023 |
} ; |
|
3023 |
} ; |
| 3024 |
typedef enum __anonenum_PointKind_118 PointKind; |
|
3024 |
typedef enum __anonenum_PointKind_118 PointKind; |
| 3025 |
enum __anonenum_kwd_report_error_119 { |
|
3025 |
enum __anonenum_kwd_report_error_119 { |
| 3026 |
kwd_report_none = 0, |
|
3026 |
kwd_report_none = 0, |
| 3027 |
kwd_report_all = 1, |
|
3027 |
kwd_report_all = 1, |
| 3028 |
kwd_report_duplicated_matches = 2 |
|
3028 |
kwd_report_duplicated_matches = 2 |
| 3029 |
} ; |
|
3029 |
} ; |
| 3030 |
typedef enum __anonenum_kwd_report_error_119 kwd_report_error; |
|
3030 |
typedef enum __anonenum_kwd_report_error_119 kwd_report_error; |
| 3031 |
enum __anonenum_FinishReason_120 { |
|
3031 |
enum __anonenum_FinishReason_120 { |
| 3032 |
orderly_finish = 0, |
|
3032 |
orderly_finish = 0, |
| 3033 |
reset_after_error = 1, |
|
3033 |
reset_after_error = 1, |
| 3034 |
reset_after_fork = 2 |
|
3034 |
reset_after_fork = 2 |
| 3035 |
} ; |
|
3035 |
} ; |
| 3036 |
typedef enum __anonenum_FinishReason_120 FinishReason; |
|
3036 |
typedef enum __anonenum_FinishReason_120 FinishReason; |
| 3037 |
struct __anonstruct_VgdbShared32_121 { |
|
3037 |
struct __anonstruct_VgdbShared32_121 { |
| 3038 |
int vgdb_pid ; |
|
3038 |
int vgdb_pid ; |
| 3039 |
int volatile written_by_vgdb ; |
|
3039 |
int volatile written_by_vgdb ; |
| 3040 |
int volatile seen_by_valgrind ; |
|
3040 |
int volatile seen_by_valgrind ; |
| 3041 |
Addr32 invoke_gdbserver ; |
|
3041 |
Addr32 invoke_gdbserver ; |
| 3042 |
Addr32 threads ; |
|
3042 |
Addr32 threads ; |
| 3043 |
int sizeof_ThreadState ; |
|
3043 |
int sizeof_ThreadState ; |
| 3044 |
int offset_status ; |
|
3044 |
int offset_status ; |
| 3045 |
int offset_lwpid ; |
|
3045 |
int offset_lwpid ; |
| 3046 |
}; |
|
3046 |
}; |
| 3047 |
typedef struct __anonstruct_VgdbShared32_121 VgdbShared32; |
|
3047 |
typedef struct __anonstruct_VgdbShared32_121 VgdbShared32; |
| 3048 |
struct __anonstruct_VgdbShared64_122 { |
|
3048 |
struct __anonstruct_VgdbShared64_122 { |
| 3049 |
int vgdb_pid ; |
|
3049 |
int vgdb_pid ; |
| 3050 |
int volatile written_by_vgdb ; |
|
3050 |
int volatile written_by_vgdb ; |
| 3051 |
int volatile seen_by_valgrind ; |
|
3051 |
int volatile seen_by_valgrind ; |
| 3052 |
Addr64 invoke_gdbserver ; |
|
3052 |
Addr64 invoke_gdbserver ; |
| 3053 |
Addr64 threads ; |
|
3053 |
Addr64 threads ; |
| 3054 |
int sizeof_ThreadState ; |
|
3054 |
int sizeof_ThreadState ; |
| 3055 |
int offset_status ; |
|
3055 |
int offset_status ; |
| 3056 |
int offset_lwpid ; |
|
3056 |
int offset_lwpid ; |
| 3057 |
}; |
|
3057 |
}; |
| 3058 |
typedef struct __anonstruct_VgdbShared64_122 VgdbShared64; |
|
3058 |
typedef struct __anonstruct_VgdbShared64_122 VgdbShared64; |
| 3059 |
typedef VgdbShared32 VgdbShared; |
|
3059 |
typedef VgdbShared32 VgdbShared; |
| 3060 |
enum __anonenum_VgMsgKind_123 { |
|
3060 |
enum __anonenum_VgMsgKind_123 { |
| 3061 |
Vg_FailMsg = 0, |
|
3061 |
Vg_FailMsg = 0, |
| 3062 |
Vg_UserMsg = 1, |
|
3062 |
Vg_UserMsg = 1, |
| 3063 |
Vg_DebugMsg = 2, |
|
3063 |
Vg_DebugMsg = 2, |
| 3064 |
Vg_ClientMsg = 3 |
|
3064 |
Vg_ClientMsg = 3 |
| 3065 |
} ; |
|
3065 |
} ; |
| 3066 |
typedef enum __anonenum_VgMsgKind_123 VgMsgKind; |
|
3066 |
typedef enum __anonenum_VgMsgKind_123 VgMsgKind; |
| 3067 |
struct __anonstruct_OutputSink_124 { |
|
3067 |
struct __anonstruct_OutputSink_124 { |
| 3068 |
Int fd ; |
|
3068 |
Int fd ; |
| 3069 |
Bool is_socket ; |
|
3069 |
Bool is_socket ; |
| 3070 |
}; |
|
3070 |
}; |
| 3071 |
typedef struct __anonstruct_OutputSink_124 OutputSink; |
|
3071 |
typedef struct __anonstruct_OutputSink_124 OutputSink; |
| 3072 |
typedef void (*vg_atfork_t)(ThreadId ); |
|
3072 |
typedef void (*vg_atfork_t)(ThreadId ); |
| 3073 |
typedef Int ArenaId; |
|
3073 |
typedef Int ArenaId; |
| 3074 |
struct vg_mallinfo { |
|
3074 |
struct vg_mallinfo { |
| 3075 |
int arena ; |
|
3075 |
int arena ; |
| 3076 |
int ordblks ; |
|
3076 |
int ordblks ; |
| 3077 |
int smblks ; |
|
3077 |
int smblks ; |
| 3078 |
int hblks ; |
|
3078 |
int hblks ; |
| 3079 |
int hblkhd ; |
|
3079 |
int hblkhd ; |
| 3080 |
int usmblks ; |
|
3080 |
int usmblks ; |
| 3081 |
int fsmblks ; |
|
3081 |
int fsmblks ; |
| 3082 |
int uordblks ; |
|
3082 |
int uordblks ; |
| 3083 |
int fordblks ; |
|
3083 |
int fordblks ; |
| 3084 |
int keepcost ; |
|
3084 |
int keepcost ; |
| 3085 |
}; |
|
3085 |
}; |
| 3086 |
enum __anonenum_VgVgdb_125 { |
|
3086 |
enum __anonenum_VgVgdb_125 { |
| 3087 |
Vg_VgdbNo = 0, |
|
3087 |
Vg_VgdbNo = 0, |
| 3088 |
Vg_VgdbYes = 1, |
|
3088 |
Vg_VgdbYes = 1, |
| 3089 |
Vg_VgdbFull = 2 |
|
3089 |
Vg_VgdbFull = 2 |
| 3090 |
} ; |
|
3090 |
} ; |
| 3091 |
typedef enum __anonenum_VgVgdb_125 VgVgdb; |
|
3091 |
typedef enum __anonenum_VgVgdb_125 VgVgdb; |
| 3092 |
enum __anonenum_VgSmc_126 { |
|
3092 |
enum __anonenum_VgSmc_126 { |
| 3093 |
Vg_SmcNone = 0, |
|
3093 |
Vg_SmcNone = 0, |
| 3094 |
Vg_SmcStack = 1, |
|
3094 |
Vg_SmcStack = 1, |
| 3095 |
Vg_SmcAll = 2, |
|
3095 |
Vg_SmcAll = 2, |
| 3096 |
Vg_SmcAllNonFile = 3 |
|
3096 |
Vg_SmcAllNonFile = 3 |
| 3097 |
} ; |
|
3097 |
} ; |
| 3098 |
typedef enum __anonenum_VgSmc_126 VgSmc; |
|
3098 |
typedef enum __anonenum_VgSmc_126 VgSmc; |
| 3099 |
struct vg_mallocfunc_info { |
|
3099 |
struct vg_mallocfunc_info { |
| 3100 |
void *(*tl_malloc)(ThreadId tid , SizeT n ) ; |
|
3100 |
void *(*tl_malloc)(ThreadId tid , SizeT n ) ; |
| 3101 |
void *(*tl___builtin_new)(ThreadId tid , SizeT n ) ; |
|
3101 |
void *(*tl___builtin_new)(ThreadId tid , SizeT n ) ; |
| 3102 |
void *(*tl___builtin_vec_new)(ThreadId tid , SizeT n ) ; |
|
3102 |
void *(*tl___builtin_vec_new)(ThreadId tid , SizeT n ) ; |
| 3103 |
void *(*tl_memalign)(ThreadId tid , SizeT align , SizeT n ) ; |
|
3103 |
void *(*tl_memalign)(ThreadId tid , SizeT align , SizeT n ) ; |
| 3104 |
void *(*tl_calloc)(ThreadId tid , SizeT nmemb , SizeT n ) ; |
|
3104 |
void *(*tl_calloc)(ThreadId tid , SizeT nmemb , SizeT n ) ; |
| 3105 |
void (*tl_free)(ThreadId tid , void *p ) ; |
|
3105 |
void (*tl_free)(ThreadId tid , void *p ) ; |
| 3106 |
void (*tl___builtin_delete)(ThreadId tid , void *p ) ; |
|
3106 |
void (*tl___builtin_delete)(ThreadId tid , void *p ) ; |
| 3107 |
void (*tl___builtin_vec_delete)(ThreadId tid , void *p ) ; |
|
3107 |
void (*tl___builtin_vec_delete)(ThreadId tid , void *p ) ; |
| 3108 |
void *(*tl_realloc)(ThreadId tid , void *p , SizeT size ) ; |
|
3108 |
void *(*tl_realloc)(ThreadId tid , void *p , SizeT size ) ; |
| 3109 |
SizeT (*tl_malloc_usable_size)(ThreadId tid , void *payload ) ; |
|
3109 |
SizeT (*tl_malloc_usable_size)(ThreadId tid , void *payload ) ; |
| 3110 |
void (*mallinfo)(ThreadId tid , struct vg_mallinfo *mi ) ; |
|
3110 |
void (*mallinfo)(ThreadId tid , struct vg_mallinfo *mi ) ; |
| 3111 |
Bool clo_trace_malloc ; |
|
3111 |
Bool clo_trace_malloc ; |
| 3112 |
}; |
|
3112 |
}; |
| 3113 |
typedef Addr *StackTrace; |
|
3113 |
typedef Addr *StackTrace; |
| 3114 |
struct __anonstruct_VgCallbackClosure_127 { |
|
3114 |
struct __anonstruct_VgCallbackClosure_127 { |
| 3115 |
Addr64 nraddr ; |
|
3115 |
Addr64 nraddr ; |
| 3116 |
Addr64 readdr ; |
|
3116 |
Addr64 readdr ; |
| 3117 |
ThreadId tid ; |
|
3117 |
ThreadId tid ; |
| 3118 |
}; |
|
3118 |
}; |
| 3119 |
typedef struct __anonstruct_VgCallbackClosure_127 VgCallbackClosure; |
|
3119 |
typedef struct __anonstruct_VgCallbackClosure_127 VgCallbackClosure; |
| 3120 |
enum __anonenum_CorePart_128 { |
|
3120 |
enum __anonenum_CorePart_128 { |
| 3121 |
Vg_CoreStartup = 1, |
|
3121 |
Vg_CoreStartup = 1, |
| 3122 |
Vg_CoreSignal = 2, |
|
3122 |
Vg_CoreSignal = 2, |
| 3123 |
Vg_CoreSysCall = 3, |
|
3123 |
Vg_CoreSysCall = 3, |
| 3124 |
Vg_CoreSysCallArgInMem = 4, |
|
3124 |
Vg_CoreSysCallArgInMem = 4, |
| 3125 |
Vg_CoreTranslate = 5, |
|
3125 |
Vg_CoreTranslate = 5, |
| 3126 |
Vg_CoreClientReq = 6 |
|
3126 |
Vg_CoreClientReq = 6 |
| 3127 |
} ; |
|
3127 |
} ; |
| 3128 |
typedef enum __anonenum_CorePart_128 CorePart; |
|
3128 |
typedef enum __anonenum_CorePart_128 CorePart; |
| 3129 |
struct __anonstruct_VgDetails_129 { |
|
3129 |
struct __anonstruct_VgDetails_129 { |
| 3130 |
Char *name ; |
|
3130 |
Char *name ; |
| 3131 |
Char *version ; |
|
3131 |
Char *version ; |
| 3132 |
Char *description ; |
|
3132 |
Char *description ; |
| 3133 |
Char *copyright_author ; |
|
3133 |
Char *copyright_author ; |
| 3134 |
Char *bug_reports_to ; |
|
3134 |
Char *bug_reports_to ; |
| 3135 |
UInt avg_translation_sizeB ; |
|
3135 |
UInt avg_translation_sizeB ; |
| 3136 |
}; |
|
3136 |
}; |
| 3137 |
typedef struct __anonstruct_VgDetails_129 VgDetails; |
|
3137 |
typedef struct __anonstruct_VgDetails_129 VgDetails; |
| 3138 |
struct __anonstruct_VgNeeds_130 { |
|
3138 |
struct __anonstruct_VgNeeds_130 { |
| 3139 |
Bool libc_freeres ; |
|
3139 |
Bool libc_freeres ; |
| 3140 |
Bool core_errors ; |
|
3140 |
Bool core_errors ; |
| 3141 |
Bool tool_errors ; |
|
3141 |
Bool tool_errors ; |
| 3142 |
Bool superblock_discards ; |
|
3142 |
Bool superblock_discards ; |
| 3143 |
Bool command_line_options ; |
|
3143 |
Bool command_line_options ; |
| 3144 |
Bool client_requests ; |
|
3144 |
Bool client_requests ; |
| 3145 |
Bool syscall_wrapper ; |
|
3145 |
Bool syscall_wrapper ; |
| 3146 |
Bool sanity_checks ; |
|
3146 |
Bool sanity_checks ; |
| 3147 |
Bool var_info ; |
|
3147 |
Bool var_info ; |
| 3148 |
Bool malloc_replacement ; |
|
3148 |
Bool malloc_replacement ; |
| 3149 |
Bool xml_output ; |
|
3149 |
Bool xml_output ; |
| 3150 |
Bool final_IR_tidy_pass ; |
|
3150 |
Bool final_IR_tidy_pass ; |
| 3151 |
}; |
|
3151 |
}; |
| 3152 |
typedef struct __anonstruct_VgNeeds_130 VgNeeds; |
|
3152 |
typedef struct __anonstruct_VgNeeds_130 VgNeeds; |
| 3153 |
struct __anonstruct_VgToolInterface_131 { |
|
3153 |
struct __anonstruct_VgToolInterface_131 { |
| 3154 |
void (*tool_pre_clo_init)(void) ; |
|
3154 |
void (*tool_pre_clo_init)(void) ; |
| 3155 |
void (*tool_post_clo_init)(void) ; |
|
3155 |
void (*tool_post_clo_init)(void) ; |
| 3156 |
IRSB *(*tool_instrument)(VgCallbackClosure * , IRSB * , VexGuestLayout * , |
|
3156 |
IRSB *(*tool_instrument)(VgCallbackClosure * , IRSB * , VexGuestLayout * , |
| 3157 |
VexGuestExtents * , IRType , IRType ) ; |
|
3157 |
VexGuestExtents * , IRType , IRType ) ; |
| 3158 |
void (*tool_fini)(Int ) ; |
|
3158 |
void (*tool_fini)(Int ) ; |
| 3159 |
Bool (*tool_eq_Error)(VgRes , Error * , Error * ) ; |
|
3159 |
Bool (*tool_eq_Error)(VgRes , Error * , Error * ) ; |
| 3160 |
void (*tool_before_pp_Error)(Error * ) ; |
|
3160 |
void (*tool_before_pp_Error)(Error * ) ; |
| 3161 |
void (*tool_pp_Error)(Error * ) ; |
|
3161 |
void (*tool_pp_Error)(Error * ) ; |
| 3162 |
Bool tool_show_ThreadIDs_for_errors ; |
|
3162 |
Bool tool_show_ThreadIDs_for_errors ; |
| 3163 |
UInt (*tool_update_extra)(Error * ) ; |
|
3163 |
UInt (*tool_update_extra)(Error * ) ; |
| 3164 |
Bool (*tool_recognised_suppression)(Char * , Supp * ) ; |
|
3164 |
Bool (*tool_recognised_suppression)(Char * , Supp * ) ; |
| 3165 |
Bool (*tool_read_extra_suppression_info)(Int , Char ** , SizeT * , Supp * ) ; |
|
3165 |
Bool (*tool_read_extra_suppression_info)(Int , Char ** , SizeT * , Supp * ) ; |
| 3166 |
Bool (*tool_error_matches_suppression)(Error * , Supp * ) ; |
|
3166 |
Bool (*tool_error_matches_suppression)(Error * , Supp * ) ; |
| 3167 |
Char *(*tool_get_error_name)(Error * ) ; |
|
3167 |
Char *(*tool_get_error_name)(Error * ) ; |
| 3168 |
Bool (*tool_get_extra_suppression_info)(Error * , Char * , Int ) ; |
|
3168 |
Bool (*tool_get_extra_suppression_info)(Error * , Char * , Int ) ; |
| 3169 |
void (*tool_discard_superblock_info)(Addr64 , VexGuestExtents ) ; |
|
3169 |
void (*tool_discard_superblock_info)(Addr64 , VexGuestExtents ) ; |
| 3170 |
Bool (*tool_process_cmd_line_option)(Char * ) ; |
|
3170 |
Bool (*tool_process_cmd_line_option)(Char * ) ; |
| 3171 |
void (*tool_print_usage)(void) ; |
|
3171 |
void (*tool_print_usage)(void) ; |
| 3172 |
void (*tool_print_debug_usage)(void) ; |
|
3172 |
void (*tool_print_debug_usage)(void) ; |
| 3173 |
Bool (*tool_handle_client_request)(ThreadId , UWord * , UWord * ) ; |
|
3173 |
Bool (*tool_handle_client_request)(ThreadId , UWord * , UWord * ) ; |
| 3174 |
void (*tool_pre_syscall)(ThreadId , UInt , UWord * , UInt ) ; |
|
3174 |
void (*tool_pre_syscall)(ThreadId , UInt , UWord * , UInt ) ; |
| 3175 |
void (*tool_post_syscall)(ThreadId , UInt , UWord * , UInt , SysRes ) ; |
|
3175 |
void (*tool_post_syscall)(ThreadId , UInt , UWord * , UInt , SysRes ) ; |
| 3176 |
Bool (*tool_cheap_sanity_check)(void) ; |
|
3176 |
Bool (*tool_cheap_sanity_check)(void) ; |
| 3177 |
Bool (*tool_expensive_sanity_check)(void) ; |
|
3177 |
Bool (*tool_expensive_sanity_check)(void) ; |
| 3178 |
void *(*tool_malloc)(ThreadId , SizeT ) ; |
|
3178 |
void *(*tool_malloc)(ThreadId , SizeT ) ; |
| 3179 |
void *(*tool___builtin_new)(ThreadId , SizeT ) ; |
|
3179 |
void *(*tool___builtin_new)(ThreadId , SizeT ) ; |
| 3180 |
void *(*tool___builtin_vec_new)(ThreadId , SizeT ) ; |
|
3180 |
void *(*tool___builtin_vec_new)(ThreadId , SizeT ) ; |
| 3181 |
void *(*tool_memalign)(ThreadId , SizeT , SizeT ) ; |
|
3181 |
void *(*tool_memalign)(ThreadId , SizeT , SizeT ) ; |
| 3182 |
void *(*tool_calloc)(ThreadId , SizeT , SizeT ) ; |
|
3182 |
void *(*tool_calloc)(ThreadId , SizeT , SizeT ) ; |
| 3183 |
void (*tool_free)(ThreadId , void * ) ; |
|
3183 |
void (*tool_free)(ThreadId , void * ) ; |
| 3184 |
void (*tool___builtin_delete)(ThreadId , void * ) ; |
|
3184 |
void (*tool___builtin_delete)(ThreadId , void * ) ; |
| 3185 |
void (*tool___builtin_vec_delete)(ThreadId , void * ) ; |
|
3185 |
void (*tool___builtin_vec_delete)(ThreadId , void * ) ; |
| 3186 |
void *(*tool_realloc)(ThreadId , void * , SizeT ) ; |
|
3186 |
void *(*tool_realloc)(ThreadId , void * , SizeT ) ; |
| 3187 |
SizeT (*tool_malloc_usable_size)(ThreadId , void * ) ; |
|
3187 |
SizeT (*tool_malloc_usable_size)(ThreadId , void * ) ; |
| 3188 |
SizeT tool_client_redzone_szB ; |
|
3188 |
SizeT tool_client_redzone_szB ; |
| 3189 |
IRSB *(*tool_final_IR_tidy_pass)(IRSB * ) ; |
|
3189 |
IRSB *(*tool_final_IR_tidy_pass)(IRSB * ) ; |
| 3190 |
void (*track_new_mem_startup)(Addr , SizeT , Bool , Bool , Bool , |
|
3190 |
void (*track_new_mem_startup)(Addr , SizeT , Bool , Bool , Bool , |
| 3191 |
ULong ) ; |
|
3191 |
ULong ) ; |
| 3192 |
void (*track_new_mem_stack_signal)(Addr , SizeT , ThreadId ) ; |
|
3192 |
void (*track_new_mem_stack_signal)(Addr , SizeT , ThreadId ) ; |
| 3193 |
void (*track_new_mem_brk)(Addr , SizeT , ThreadId ) ; |
|
3193 |
void (*track_new_mem_brk)(Addr , SizeT , ThreadId ) ; |
| 3194 |
void (*track_new_mem_mmap)(Addr , SizeT , Bool , Bool , Bool , ULong ) ; |
|
3194 |
void (*track_new_mem_mmap)(Addr , SizeT , Bool , Bool , Bool , ULong ) ; |
| 3195 |
void (*track_copy_mem_remap)(Addr src , Addr dst , SizeT ) ; |
|
3195 |
void (*track_copy_mem_remap)(Addr src , Addr dst , SizeT ) ; |
| 3196 |
void (*track_change_mem_mprotect)(Addr , SizeT , Bool , Bool , Bool ) ; |
|
3196 |
void (*track_change_mem_mprotect)(Addr , SizeT , Bool , Bool , Bool ) ; |
| 3197 |
void (*track_die_mem_stack_signal)(Addr , SizeT ) ; |
|
3197 |
void (*track_die_mem_stack_signal)(Addr , SizeT ) ; |
| 3198 |
void (*track_die_mem_brk)(Addr , SizeT ) ; |
|
3198 |
void (*track_die_mem_brk)(Addr , SizeT ) ; |
| 3199 |
void (*track_die_mem_munmap)(Addr , SizeT ) ; |
|
3199 |
void (*track_die_mem_munmap)(Addr , SizeT ) ; |
| 3200 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_4_w_ECU))(Addr , |
|
3200 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_4_w_ECU))(Addr , |
| 3201 |
UInt ) ; |
|
3201 |
UInt ) ; |
| 3202 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_8_w_ECU))(Addr , |
|
3202 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_8_w_ECU))(Addr , |
| 3203 |
UInt ) ; |
|
3203 |
UInt ) ; |
| 3204 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_12_w_ECU))(Addr , |
|
3204 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_12_w_ECU))(Addr , |
| 3205 |
UInt ) ; |
|
3205 |
UInt ) ; |
| 3206 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_16_w_ECU))(Addr , |
|
3206 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_16_w_ECU))(Addr , |
| 3207 |
UInt ) ; |
|
3207 |
UInt ) ; |
| 3208 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_32_w_ECU))(Addr , |
|
3208 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_32_w_ECU))(Addr , |
| 3209 |
UInt ) ; |
|
3209 |
UInt ) ; |
| 3210 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_112_w_ECU))(Addr , |
|
3210 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_112_w_ECU))(Addr , |
| 3211 |
UInt ) ; |
|
3211 |
UInt ) ; |
| 3212 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_128_w_ECU))(Addr , |
|
3212 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_128_w_ECU))(Addr , |
| 3213 |
UInt ) ; |
|
3213 |
UInt ) ; |
| 3214 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_144_w_ECU))(Addr , |
|
3214 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_144_w_ECU))(Addr , |
| 3215 |
UInt ) ; |
|
3215 |
UInt ) ; |
| 3216 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_160_w_ECU))(Addr , |
|
3216 |
void ( __attribute__((__regparm__(2))) (*track_new_mem_stack_160_w_ECU))(Addr , |
| 3217 |
UInt ) ; |
|
3217 |
UInt ) ; |
| 3218 |
void (*track_new_mem_stack_w_ECU)(Addr , SizeT , UInt ) ; |
|
3218 |
void (*track_new_mem_stack_w_ECU)(Addr , SizeT , UInt ) ; |
| 3219 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_4))(Addr ) ; |
|
3219 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_4))(Addr ) ; |
| 3220 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_8))(Addr ) ; |
|
3220 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_8))(Addr ) ; |
| 3221 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_12))(Addr ) ; |
|
3221 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_12))(Addr ) ; |
| 3222 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_16))(Addr ) ; |
|
3222 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_16))(Addr ) ; |
| 3223 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_32))(Addr ) ; |
|
3223 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_32))(Addr ) ; |
| 3224 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_112))(Addr ) ; |
|
3224 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_112))(Addr ) ; |
| 3225 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_128))(Addr ) ; |
|
3225 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_128))(Addr ) ; |
| 3226 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_144))(Addr ) ; |
|
3226 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_144))(Addr ) ; |
| 3227 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_160))(Addr ) ; |
|
3227 |
void ( __attribute__((__regparm__(1))) (*track_new_mem_stack_160))(Addr ) ; |
| 3228 |
void (*track_new_mem_stack)(Addr , SizeT ) ; |
|
3228 |
void (*track_new_mem_stack)(Addr , SizeT ) ; |
| 3229 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_4))(Addr ) ; |
|
3229 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_4))(Addr ) ; |
| 3230 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_8))(Addr ) ; |
|
3230 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_8))(Addr ) ; |
| 3231 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_12))(Addr ) ; |
|
3231 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_12))(Addr ) ; |
| 3232 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_16))(Addr ) ; |
|
3232 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_16))(Addr ) ; |
| 3233 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_32))(Addr ) ; |
|
3233 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_32))(Addr ) ; |
| 3234 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_112))(Addr ) ; |
|
3234 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_112))(Addr ) ; |
| 3235 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_128))(Addr ) ; |
|
3235 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_128))(Addr ) ; |
| 3236 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_144))(Addr ) ; |
|
3236 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_144))(Addr ) ; |
| 3237 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_160))(Addr ) ; |
|
3237 |
void ( __attribute__((__regparm__(1))) (*track_die_mem_stack_160))(Addr ) ; |
| 3238 |
void (*track_die_mem_stack)(Addr , SizeT ) ; |
|
3238 |
void (*track_die_mem_stack)(Addr , SizeT ) ; |
| 3239 |
void (*track_ban_mem_stack)(Addr , SizeT ) ; |
|
3239 |
void (*track_ban_mem_stack)(Addr , SizeT ) ; |
| 3240 |
void (*track_pre_mem_read)(CorePart , ThreadId , Char * , Addr , SizeT ) ; |
|
3240 |
void (*track_pre_mem_read)(CorePart , ThreadId , Char * , Addr , SizeT ) ; |
| 3241 |
void (*track_pre_mem_read_asciiz)(CorePart , ThreadId , Char * , Addr ) ; |
|
3241 |
void (*track_pre_mem_read_asciiz)(CorePart , ThreadId , Char * , Addr ) ; |
| 3242 |
void (*track_pre_mem_write)(CorePart , ThreadId , Char * , Addr , SizeT ) ; |
|
3242 |
void (*track_pre_mem_write)(CorePart , ThreadId , Char * , Addr , SizeT ) ; |
| 3243 |
void (*track_post_mem_write)(CorePart , ThreadId , Addr , SizeT ) ; |
|
3243 |
void (*track_post_mem_write)(CorePart , ThreadId , Addr , SizeT ) ; |
| 3244 |
void (*track_pre_reg_read)(CorePart , ThreadId , Char * , PtrdiffT , |
|
3244 |
void (*track_pre_reg_read)(CorePart , ThreadId , Char * , PtrdiffT , |
| 3245 |
SizeT ) ; |
|
3245 |
SizeT ) ; |
| 3246 |
void (*track_post_reg_write)(CorePart , ThreadId , PtrdiffT , SizeT ) ; |
|
3246 |
void (*track_post_reg_write)(CorePart , ThreadId , PtrdiffT , SizeT ) ; |
| 3247 |
void (*track_post_reg_write_clientcall_return)(ThreadId , PtrdiffT , |
|
3247 |
void (*track_post_reg_write_clientcall_return)(ThreadId , PtrdiffT , |
| 3248 |
SizeT , Addr ) ; |
|
3248 |
SizeT , Addr ) ; |
| 3249 |
void (*track_start_client_code)(ThreadId , ULong ) ; |
|
3249 |
void (*track_start_client_code)(ThreadId , ULong ) ; |
| 3250 |
void (*track_stop_client_code)(ThreadId , ULong ) ; |
|
3250 |
void (*track_stop_client_code)(ThreadId , ULong ) ; |
| 3251 |
void (*track_pre_thread_ll_create)(ThreadId , ThreadId ) ; |
|
3251 |
void (*track_pre_thread_ll_create)(ThreadId , ThreadId ) ; |
| 3252 |
void (*track_pre_thread_first_insn)(ThreadId ) ; |
|
3252 |
void (*track_pre_thread_first_insn)(ThreadId ) ; |
| 3253 |
void (*track_pre_thread_ll_exit)(ThreadId ) ; |
|
3253 |
void (*track_pre_thread_ll_exit)(ThreadId ) ; |
| 3254 |
void (*track_pre_deliver_signal)(ThreadId , Int sigNo , Bool ) ; |
|
3254 |
void (*track_pre_deliver_signal)(ThreadId , Int sigNo , Bool ) ; |
| 3255 |
void (*track_post_deliver_signal)(ThreadId , Int sigNo ) ; |
|
3255 |
void (*track_post_deliver_signal)(ThreadId , Int sigNo ) ; |
| 3256 |
}; |
|
3256 |
}; |
| 3257 |
typedef struct __anonstruct_VgToolInterface_131 VgToolInterface; |
|
3257 |
typedef struct __anonstruct_VgToolInterface_131 VgToolInterface; |
| 3258 |
struct __anonstruct_FastCacheEntry_132 { |
|
3258 |
struct __anonstruct_FastCacheEntry_132 { |
| 3259 |
Addr guest ; |
|
3259 |
Addr guest ; |
| 3260 |
Addr host ; |
|
3260 |
Addr host ; |
| 3261 |
}; |
|
3261 |
}; |
| 3262 |
typedef struct __anonstruct_FastCacheEntry_132 FastCacheEntry; |
|
3262 |
typedef struct __anonstruct_FastCacheEntry_132 FastCacheEntry; |
| 3263 |
struct _BBProfEntry { |
|
3263 |
struct _BBProfEntry { |
| 3264 |
Addr64 addr ; |
|
3264 |
Addr64 addr ; |
| 3265 |
ULong score ; |
|
3265 |
ULong score ; |
| 3266 |
}; |
|
3266 |
}; |
| 3267 |
typedef struct _BBProfEntry BBProfEntry; |
|
3267 |
typedef struct _BBProfEntry BBProfEntry; |
| 3268 |
enum __anonenum_Vg_FnNameKind_133 { |
|
3268 |
enum __anonenum_Vg_FnNameKind_133 { |
| 3269 |
Vg_FnNameNormal = 0, |
|
3269 |
Vg_FnNameNormal = 0, |
| 3270 |
Vg_FnNameMain = 1, |
|
3270 |
Vg_FnNameMain = 1, |
| 3271 |
Vg_FnNameBelowMain = 2 |
|
3271 |
Vg_FnNameBelowMain = 2 |
| 3272 |
} ; |
|
3272 |
} ; |
| 3273 |
typedef enum __anonenum_Vg_FnNameKind_133 Vg_FnNameKind; |
|
3273 |
typedef enum __anonenum_Vg_FnNameKind_133 Vg_FnNameKind; |
| 3274 |
struct __anonstruct_StackBlock_134 { |
|
3274 |
struct __anonstruct_StackBlock_134 { |
| 3275 |
PtrdiffT base ; |
|
3275 |
PtrdiffT base ; |
| 3276 |
SizeT szB ; |
|
3276 |
SizeT szB ; |
| 3277 |
Bool spRel ; |
|
3277 |
Bool spRel ; |
| 3278 |
Bool isVec ; |
|
3278 |
Bool isVec ; |
| 3279 |
HChar name[16] ; |
|
3279 |
HChar name[16] ; |
| 3280 |
}; |
|
3280 |
}; |
| 3281 |
typedef struct __anonstruct_StackBlock_134 StackBlock; |
|
3281 |
typedef struct __anonstruct_StackBlock_134 StackBlock; |
| 3282 |
struct __anonstruct_GlobalBlock_135 { |
|
3282 |
struct __anonstruct_GlobalBlock_135 { |
| 3283 |
Addr addr ; |
|
3283 |
Addr addr ; |
| 3284 |
SizeT szB ; |
|
3284 |
SizeT szB ; |
| 3285 |
Bool isVec ; |
|
3285 |
Bool isVec ; |
| 3286 |
HChar name[16] ; |
|
3286 |
HChar name[16] ; |
| 3287 |
HChar soname[16] ; |
|
3287 |
HChar soname[16] ; |
| 3288 |
}; |
|
3288 |
}; |
| 3289 |
typedef struct __anonstruct_GlobalBlock_135 GlobalBlock; |
|
3289 |
typedef struct __anonstruct_GlobalBlock_135 GlobalBlock; |
| 3290 |
struct _DebugInfo; |
|
3290 |
struct _DebugInfo; |
| 3291 |
typedef struct _DebugInfo DebugInfo; |
|
3291 |
typedef struct _DebugInfo DebugInfo; |
| 3292 |
enum __anonenum_VgSectKind_136 { |
|
3292 |
enum __anonenum_VgSectKind_136 { |
| 3293 |
Vg_SectUnknown = 0, |
|
3293 |
Vg_SectUnknown = 0, |
| 3294 |
Vg_SectText = 1, |
|
3294 |
Vg_SectText = 1, |
| 3295 |
Vg_SectData = 2, |
|
3295 |
Vg_SectData = 2, |
| 3296 |
Vg_SectBSS = 3, |
|
3296 |
Vg_SectBSS = 3, |
| 3297 |
Vg_SectGOT = 4, |
|
3297 |
Vg_SectGOT = 4, |
| 3298 |
Vg_SectPLT = 5, |
|
3298 |
Vg_SectPLT = 5, |
| 3299 |
Vg_SectGOTPLT = 6, |
|
3299 |
Vg_SectGOTPLT = 6, |
| 3300 |
Vg_SectOPD = 7 |
|
3300 |
Vg_SectOPD = 7 |
| 3301 |
} ; |
|
3301 |
} ; |
| 3302 |
typedef enum __anonenum_VgSectKind_136 VgSectKind; |
|
3302 |
typedef enum __anonenum_VgSectKind_136 VgSectKind; |
| 3303 |
struct __anonstruct_D3UnwindRegs_137 { |
|
3303 |
struct __anonstruct_D3UnwindRegs_137 { |
| 3304 |
Addr xip ; |
|
3304 |
Addr xip ; |
| 3305 |
Addr xsp ; |
|
3305 |
Addr xsp ; |
| 3306 |
Addr xbp ; |
|
3306 |
Addr xbp ; |
| 3307 |
}; |
|
3307 |
}; |
| 3308 |
typedef struct __anonstruct_D3UnwindRegs_137 D3UnwindRegs; |
|
3308 |
typedef struct __anonstruct_D3UnwindRegs_137 D3UnwindRegs; |
| 3309 |
struct __anonstruct_vg_sema_t_138 { |
|
3309 |
struct __anonstruct_vg_sema_t_138 { |
| 3310 |
Int pipe[2] ; |
|
3310 |
Int pipe[2] ; |
| 3311 |
Int owner_lwpid ; |
|
3311 |
Int owner_lwpid ; |
| 3312 |
Bool held_as_LL ; |
|
3312 |
Bool held_as_LL ; |
| 3313 |
}; |
|
3313 |
}; |
| 3314 |
typedef struct __anonstruct_vg_sema_t_138 vg_sema_t; |
|
3314 |
typedef struct __anonstruct_vg_sema_t_138 vg_sema_t; |
| 3315 |
union __anonunion_u_139 { |
|
3315 |
union __anonunion_u_139 { |
| 3316 |
va_list vargs ; |
|
3316 |
va_list vargs ; |
| 3317 |
unsigned long uw ; |
|
3317 |
unsigned long uw ; |
| 3318 |
}; |
|
3318 |
}; |
| 3319 |
union __anonunion_u_140 { |
|
3319 |
union __anonunion_u_140 { |
| 3320 |
va_list vargs ; |
|
3320 |
va_list vargs ; |
| 3321 |
unsigned long uw ; |
|
3321 |
unsigned long uw ; |
| 3322 |
}; |
|
3322 |
}; |
| 3323 |
__inline static Bool toBool(Int x ) |
|
3323 |
__inline static Bool toBool(Int x ) |
| 3324 |
{ |
|
3324 |
{ |
| 3325 |
Int r ; |
|
3325 |
Int r ; |
| 3326 |
int tmp ; |
|
3326 |
int tmp ; |
| 3327 |
|
|
3327 |
|
| 3328 |
{ |
|
3328 |
{ |
| 3329 |
if (x == 0) { |
|
3329 |
if (x == 0) { |
| 3330 |
tmp = (int )((Bool )0); |
|
3330 |
tmp = (int )((Bool )0); |
| 3331 |
} else { |
|
3331 |
} else { |
| 3332 |
tmp = (int )((Bool )1); |
|
3332 |
tmp = (int )((Bool )1); |
| 3333 |
} |
|
3333 |
} |
| 3334 |
r = tmp; |
|
3334 |
r = tmp; |
| 3335 |
return ((Bool )r); |
|
3335 |
return ((Bool )r); |
| 3336 |
} |
|
3336 |
} |
| 3337 |
} |
|
3337 |
} |
| 3338 |
__inline static UChar toUChar(Int x ) |
|
3338 |
__inline static UChar toUChar(Int x ) |
| 3339 |
{ |
|
3339 |
{ |
| 3340 |
|
|
3340 |
|
| 3341 |
|
|
3341 |
|
| 3342 |
{ |
|
3342 |
{ |
| 3343 |
x &= 255; |
|
3343 |
x &= 255; |
| 3344 |
return ((UChar )x); |
|
3344 |
return ((UChar )x); |
| 3345 |
} |
|
3345 |
} |
| 3346 |
} |
|
3346 |
} |
| 3347 |
__inline static HChar toHChar(Int x ) |
|
3347 |
__inline static HChar toHChar(Int x ) |
| 3348 |
{ |
|
3348 |
{ |
| 3349 |
|
|
3349 |
|
| 3350 |
|
|
3350 |
|
| 3351 |
{ |
|
3351 |
{ |
| 3352 |
x &= 255; |
|
3352 |
x &= 255; |
| 3353 |
return ((HChar )x); |
|
3353 |
return ((HChar )x); |
| 3354 |
} |
|
3354 |
} |
| 3355 |
} |
|
3355 |
} |
| 3356 |
__inline static UShort toUShort(Int x ) |
|
3356 |
__inline static UShort toUShort(Int x ) |
| 3357 |
{ |
|
3357 |
{ |
| 3358 |
|
|
3358 |
|
| 3359 |
|
|
3359 |
|
| 3360 |
{ |
|
3360 |
{ |
| 3361 |
x &= 65535; |
|
3361 |
x &= 65535; |
| 3362 |
return ((UShort )x); |
|
3362 |
return ((UShort )x); |
| 3363 |
} |
|
3363 |
} |
| 3364 |
} |
|
3364 |
} |
| 3365 |
__inline static Short toShort(Int x ) |
|
3365 |
__inline static Short toShort(Int x ) |
| 3366 |
{ |
|
3366 |
{ |
| 3367 |
|
|
3367 |
|
| 3368 |
|
|
3368 |
|
| 3369 |
{ |
|
3369 |
{ |
| 3370 |
x &= 65535; |
|
3370 |
x &= 65535; |
| 3371 |
return ((Short )x); |
|
3371 |
return ((Short )x); |
| 3372 |
} |
|
3372 |
} |
| 3373 |
} |
|
3373 |
} |
| 3374 |
__inline static UInt toUInt(Long x ) |
|
3374 |
__inline static UInt toUInt(Long x ) |
| 3375 |
{ |
|
3375 |
{ |
| 3376 |
|
|
3376 |
|
| 3377 |
|
|
3377 |
|
| 3378 |
{ |
|
3378 |
{ |
| 3379 |
x &= 4294967295LL; |
|
3379 |
x &= 4294967295LL; |
| 3380 |
return ((UInt )x); |
|
3380 |
return ((UInt )x); |
| 3381 |
} |
|
3381 |
} |
| 3382 |
} |
|
3382 |
} |
| 3383 |
__inline static ULong Ptr_to_ULong(void *p ) |
|
3383 |
__inline static ULong Ptr_to_ULong(void *p ) |
| 3384 |
{ |
|
3384 |
{ |
| 3385 |
UInt w ; |
|
3385 |
UInt w ; |
| 3386 |
|
|
3386 |
|
| 3387 |
{ |
|
3387 |
{ |
| 3388 |
w = (UInt )p; |
|
3388 |
w = (UInt )p; |
| 3389 |
return ((ULong )w); |
|
3389 |
return ((ULong )w); |
| 3390 |
} |
|
3390 |
} |
| 3391 |
} |
|
3391 |
} |
| 3392 |
__inline static void *ULong_to_Ptr(ULong n ) |
|
3392 |
__inline static void *ULong_to_Ptr(ULong n ) |
| 3393 |
{ |
|
3393 |
{ |
| 3394 |
UInt w ; |
|
3394 |
UInt w ; |
| 3395 |
|
|
3395 |
|
| 3396 |
{ |
|
3396 |
{ |
| 3397 |
w = (UInt )n; |
|
3397 |
w = (UInt )n; |
| 3398 |
return ((void *)w); |
|
3398 |
return ((void *)w); |
| 3399 |
} |
|
3399 |
} |
| 3400 |
} |
|
3400 |
} |
| 3401 |
__inline static Bool sr_isError(SysRes sr ) |
|
3401 |
__inline static Bool sr_isError(SysRes sr ) |
| 3402 |
{ |
|
3402 |
{ |
| 3403 |
|
|
3403 |
|
| 3404 |
|
|
3404 |
|
| 3405 |
{ |
|
3405 |
{ |
| 3406 |
return (sr._isError); |
|
3406 |
return (sr._isError); |
| 3407 |
} |
|
3407 |
} |
| 3408 |
} |
|
3408 |
} |
| 3409 |
__inline static UWord sr_Res(SysRes sr ) |
|
3409 |
__inline static UWord sr_Res(SysRes sr ) |
| 3410 |
{ |
|
3410 |
{ |
| 3411 |
UWord tmp ; |
|
3411 |
UWord tmp ; |
| 3412 |
|
|
3412 |
|
| 3413 |
{ |
|
3413 |
{ |
| 3414 |
if (sr._isError) { |
|
3414 |
if (sr._isError) { |
| 3415 |
tmp = (UWord )0; |
|
3415 |
tmp = (UWord )0; |
| 3416 |
} else { |
|
3416 |
} else { |
| 3417 |
tmp = sr._val; |
|
3417 |
tmp = sr._val; |
| 3418 |
} |
|
3418 |
} |
| 3419 |
return (tmp); |
|
3419 |
return (tmp); |
| 3420 |
} |
|
3420 |
} |
| 3421 |
} |
|
3421 |
} |
| 3422 |
__inline static UWord sr_ResHI(SysRes sr ) |
|
3422 |
__inline static UWord sr_ResHI(SysRes sr ) |
| 3423 |
{ |
|
3423 |
{ |
| 3424 |
|
|
3424 |
|
| 3425 |
|
|
3425 |
|
| 3426 |
{ |
|
3426 |
{ |
| 3427 |
return ((UWord )0); |
|
3427 |
return ((UWord )0); |
| 3428 |
} |
|
3428 |
} |
| 3429 |
} |
|
3429 |
} |
| 3430 |
__inline static UWord sr_Err(SysRes sr ) |
|
3430 |
__inline static UWord sr_Err(SysRes sr ) |
| 3431 |
{ |
|
3431 |
{ |
| 3432 |
UWord tmp ; |
|
3432 |
UWord tmp ; |
| 3433 |
|
|
3433 |
|
| 3434 |
{ |
|
3434 |
{ |
| 3435 |
if (sr._isError) { |
|
3435 |
if (sr._isError) { |
| 3436 |
tmp = sr._val; |
|
3436 |
tmp = sr._val; |
| 3437 |
} else { |
|
3437 |
} else { |
| 3438 |
tmp = (UWord )0; |
|
3438 |
tmp = (UWord )0; |
| 3439 |
} |
|
3439 |
} |
| 3440 |
return (tmp); |
|
3440 |
return (tmp); |
| 3441 |
} |
|
3441 |
} |
| 3442 |
} |
|
3442 |
} |
| 3443 |
__inline static Bool sr_EQ(SysRes sr1 , SysRes sr2 ) |
|
3443 |
__inline static Bool sr_EQ(SysRes sr1 , SysRes sr2 ) |
| 3444 |
{ |
|
3444 |
{ |
| 3445 |
int tmp ; |
|
3445 |
int tmp ; |
| 3446 |
|
|
3446 |
|
| 3447 |
{ |
|
3447 |
{ |
| 3448 |
if (sr1._val == sr2._val) { |
|
3448 |
if (sr1._val == sr2._val) { |
| 3449 |
if (sr1._isError) { |
|
3449 |
if (sr1._isError) { |
| 3450 |
if (sr2._isError) { |
|
3450 |
if (sr2._isError) { |
| 3451 |
tmp = 1; |
|
3451 |
tmp = 1; |
| 3452 |
} else { |
|
3452 |
} else { |
| 3453 |
goto _L; |
|
3453 |
goto _L; |
| 3454 |
} |
|
3454 |
} |
| 3455 |
} else |
|
3455 |
} else |
| 3456 |
_L: |
|
3456 |
_L: |
| 3457 |
if (! sr1._isError) { |
|
3457 |
if (! sr1._isError) { |
| 3458 |
if (! sr2._isError) { |
|
3458 |
if (! sr2._isError) { |
| 3459 |
tmp = 1; |
|
3459 |
tmp = 1; |
| 3460 |
} else { |
|
3460 |
} else { |
| 3461 |
tmp = 0; |
|
3461 |
tmp = 0; |
| 3462 |
} |
|
3462 |
} |
| 3463 |
} else { |
|
3463 |
} else { |
| 3464 |
tmp = 0; |
|
3464 |
tmp = 0; |
| 3465 |
} |
|
3465 |
} |
| 3466 |
} else { |
|
3466 |
} else { |
| 3467 |
tmp = 0; |
|
3467 |
tmp = 0; |
| 3468 |
} |
|
3468 |
} |
| 3469 |
return ((Bool )tmp); |
|
3469 |
return ((Bool )tmp); |
| 3470 |
} |
|
3470 |
} |
| 3471 |
} |
|
3471 |
} |
| 3472 |
extern void ppIRType(IRType ) ; |
|
3472 |
extern void ppIRType(IRType ) ; |
| 3473 |
extern Int sizeofIRType(IRType ) ; |
|
3473 |
extern Int sizeofIRType(IRType ) ; |
| 3474 |
extern IRConst *IRConst_U1(Bool ) ; |
|
3474 |
extern IRConst *IRConst_U1(Bool ) ; |
| 3475 |
extern IRConst *IRConst_U8(UChar ) ; |
|
3475 |
extern IRConst *IRConst_U8(UChar ) ; |
| 3476 |
extern IRConst *IRConst_U16(UShort ) ; |
|
3476 |
extern IRConst *IRConst_U16(UShort ) ; |
| 3477 |
extern IRConst *IRConst_U32(UInt ) ; |
|
3477 |
extern IRConst *IRConst_U32(UInt ) ; |
| 3478 |
extern IRConst *IRConst_U64(ULong ) ; |
|
3478 |
extern IRConst *IRConst_U64(ULong ) ; |
| 3479 |
extern IRConst *IRConst_F32(Float ) ; |
|
3479 |
extern IRConst *IRConst_F32(Float ) ; |
| 3480 |
extern IRConst *IRConst_F32i(UInt ) ; |
|
3480 |
extern IRConst *IRConst_F32i(UInt ) ; |
| 3481 |
extern IRConst *IRConst_F64(Double ) ; |
|
3481 |
extern IRConst *IRConst_F64(Double ) ; |
| 3482 |
extern IRConst *IRConst_F64i(ULong ) ; |
|
3482 |
extern IRConst *IRConst_F64i(ULong ) ; |
| 3483 |
extern IRConst *IRConst_V128(UShort ) ; |
|
3483 |
extern IRConst *IRConst_V128(UShort ) ; |
| 3484 |
extern IRConst *deepCopyIRConst(IRConst * ) ; |
|
3484 |
extern IRConst *deepCopyIRConst(IRConst * ) ; |
| 3485 |
extern void ppIRConst(IRConst * ) ; |
|
3485 |
extern void ppIRConst(IRConst * ) ; |
| 3486 |
extern Bool eqIRConst(IRConst * , IRConst * ) ; |
|
3486 |
extern Bool eqIRConst(IRConst * , IRConst * ) ; |
| 3487 |
extern IRCallee *mkIRCallee(Int regparms , HChar *name , void *addr ) ; |
|
3487 |
extern IRCallee *mkIRCallee(Int regparms , HChar *name , void *addr ) ; |
| 3488 |
extern IRCallee *deepCopyIRCallee(IRCallee * ) ; |
|
3488 |
extern IRCallee *deepCopyIRCallee(IRCallee * ) ; |
| 3489 |
extern void ppIRCallee(IRCallee * ) ; |
|
3489 |
extern void ppIRCallee(IRCallee * ) ; |
| 3490 |
extern IRRegArray *mkIRRegArray(Int , IRType , Int ) ; |
|
3490 |
extern IRRegArray *mkIRRegArray(Int , IRType , Int ) ; |
| 3491 |
extern IRRegArray *deepCopyIRRegArray(IRRegArray * ) ; |
|
3491 |
extern IRRegArray *deepCopyIRRegArray(IRRegArray * ) ; |
| 3492 |
extern void ppIRRegArray(IRRegArray * ) ; |
|
3492 |
extern void ppIRRegArray(IRRegArray * ) ; |
| 3493 |
extern Bool eqIRRegArray(IRRegArray * , IRRegArray * ) ; |
|
3493 |
extern Bool eqIRRegArray(IRRegArray * , IRRegArray * ) ; |
| 3494 |
extern void ppIRTemp(IRTemp ) ; |
|
3494 |
extern void ppIRTemp(IRTemp ) ; |
| 3495 |
extern void ppIROp(IROp ) ; |
|
3495 |
extern void ppIROp(IROp ) ; |
| 3496 |
extern IRExpr *IRExpr_Binder(Int binder ) ; |
|
3496 |
extern IRExpr *IRExpr_Binder(Int binder ) ; |
| 3497 |
extern IRExpr *IRExpr_Get(Int off , IRType ty ) ; |
|
3497 |
extern IRExpr *IRExpr_Get(Int off , IRType ty ) ; |
| 3498 |
extern IRExpr *IRExpr_GetI(IRRegArray *descr , IRExpr *ix , Int bias ) ; |
|
3498 |
extern IRExpr *IRExpr_GetI(IRRegArray *descr , IRExpr *ix , Int bias ) ; |
| 3499 |
extern IRExpr *IRExpr_RdTmp(IRTemp tmp ) ; |
|
3499 |
extern IRExpr *IRExpr_RdTmp(IRTemp tmp ) ; |
| 3500 |
extern IRExpr *IRExpr_Qop(IROp op , IRExpr *arg1 , IRExpr *arg2 , IRExpr *arg3 , |
|
3500 |
extern IRExpr *IRExpr_Qop(IROp op , IRExpr *arg1 , IRExpr *arg2 , IRExpr *arg3 , |
| 3501 |
IRExpr *arg4 ) ; |
|
3501 |
IRExpr *arg4 ) ; |
| 3502 |
extern IRExpr *IRExpr_Triop(IROp op , IRExpr *arg1 , IRExpr *arg2 , |
|
3502 |
extern IRExpr *IRExpr_Triop(IROp op , IRExpr *arg1 , IRExpr *arg2 , |
| 3503 |
IRExpr *arg3 ) ; |
|
3503 |
IRExpr *arg3 ) ; |
| 3504 |
extern IRExpr *IRExpr_Binop(IROp op , IRExpr *arg1 , IRExpr *arg2 ) ; |
|
3504 |
extern IRExpr *IRExpr_Binop(IROp op , IRExpr *arg1 , IRExpr *arg2 ) ; |
| 3505 |
extern IRExpr *IRExpr_Unop(IROp op , IRExpr *arg ) ; |
|
3505 |
extern IRExpr *IRExpr_Unop(IROp op , IRExpr *arg ) ; |
| 3506 |
extern IRExpr *IRExpr_Load(IREndness end , IRType ty , IRExpr *addr ) ; |
|
3506 |
extern IRExpr *IRExpr_Load(IREndness end , IRType ty , IRExpr *addr ) ; |
| 3507 |
extern IRExpr *IRExpr_Const(IRConst *con ) ; |
|
3507 |
extern IRExpr *IRExpr_Const(IRConst *con ) ; |
| 3508 |
extern IRExpr *IRExpr_CCall(IRCallee *cee , IRType retty , IRExpr **args ) ; |
|
3508 |
extern IRExpr *IRExpr_CCall(IRCallee *cee , IRType retty , IRExpr **args ) ; |
| 3509 |
extern IRExpr *IRExpr_Mux0X(IRExpr *cond , IRExpr *expr0 , IRExpr *exprX ) ; |
|
3509 |
extern IRExpr *IRExpr_Mux0X(IRExpr *cond , IRExpr *expr0 , IRExpr *exprX ) ; |
| 3510 |
extern IRExpr *deepCopyIRExpr(IRExpr * ) ; |
|
3510 |
extern IRExpr *deepCopyIRExpr(IRExpr * ) ; |
| 3511 |
extern void ppIRExpr(IRExpr * ) ; |
|
3511 |
extern void ppIRExpr(IRExpr * ) ; |
| 3512 |
extern IRExpr **mkIRExprVec_0(void) ; |
|
3512 |
extern IRExpr **mkIRExprVec_0(void) ; |
| 3513 |
extern IRExpr **mkIRExprVec_1(IRExpr * ) ; |
|
3513 |
extern IRExpr **mkIRExprVec_1(IRExpr * ) ; |
| 3514 |
extern IRExpr **mkIRExprVec_2(IRExpr * , IRExpr * ) ; |
|
3514 |
extern IRExpr **mkIRExprVec_2(IRExpr * , IRExpr * ) ; |
| 3515 |
extern IRExpr **mkIRExprVec_3(IRExpr * , IRExpr * , IRExpr * ) ; |
|
3515 |
extern IRExpr **mkIRExprVec_3(IRExpr * , IRExpr * , IRExpr * ) ; |
| 3516 |
extern IRExpr **mkIRExprVec_4(IRExpr * , IRExpr * , IRExpr * , IRExpr * ) ; |
|
3516 |
extern IRExpr **mkIRExprVec_4(IRExpr * , IRExpr * , IRExpr * , IRExpr * ) ; |
| 3517 |
extern IRExpr **mkIRExprVec_5(IRExpr * , IRExpr * , IRExpr * , IRExpr * , |
|
3517 |
extern IRExpr **mkIRExprVec_5(IRExpr * , IRExpr * , IRExpr * , IRExpr * , |
| 3518 |
IRExpr * ) ; |
|
3518 |
IRExpr * ) ; |
| 3519 |
extern IRExpr **mkIRExprVec_6(IRExpr * , IRExpr * , IRExpr * , IRExpr * , |
|
3519 |
extern IRExpr **mkIRExprVec_6(IRExpr * , IRExpr * , IRExpr * , IRExpr * , |
| 3520 |
IRExpr * , IRExpr * ) ; |
|
3520 |
IRExpr * , IRExpr * ) ; |
| 3521 |
extern IRExpr **mkIRExprVec_7(IRExpr * , IRExpr * , IRExpr * , IRExpr * , |
|
3521 |
extern IRExpr **mkIRExprVec_7(IRExpr * , IRExpr * , IRExpr * , IRExpr * , |
| 3522 |
IRExpr * , IRExpr * , IRExpr * ) ; |
|
3522 |
IRExpr * , IRExpr * , IRExpr * ) ; |
| 3523 |
extern IRExpr **mkIRExprVec_8(IRExpr * , IRExpr * , IRExpr * , IRExpr * , |
|
3523 |
extern IRExpr **mkIRExprVec_8(IRExpr * , IRExpr * , IRExpr * , IRExpr * , |
| 3524 |
IRExpr * , IRExpr * , IRExpr * , IRExpr * ) ; |
|
3524 |
IRExpr * , IRExpr * , IRExpr * , IRExpr * ) ; |
| 3525 |
extern IRExpr **shallowCopyIRExprVec(IRExpr ** ) ; |
|
3525 |
extern IRExpr **shallowCopyIRExprVec(IRExpr ** ) ; |
| 3526 |
extern IRExpr **deepCopyIRExprVec(IRExpr ** ) ; |
|
3526 |
extern IRExpr **deepCopyIRExprVec(IRExpr ** ) ; |
| 3527 |
extern IRExpr *mkIRExpr_HWord(HWord ) ; |
|
3527 |
extern IRExpr *mkIRExpr_HWord(HWord ) ; |
| 3528 |
extern IRExpr *mkIRExprCCall(IRType retty , Int regparms , HChar *name , |
|
3528 |
extern IRExpr *mkIRExprCCall(IRType retty , Int regparms , HChar *name , |
| 3529 |
void *addr , IRExpr **args ) ; |
|
3529 |
void *addr , IRExpr **args ) ; |
| 3530 |
__inline static Bool isIRAtom(IRExpr *e ) |
|
3530 |
__inline static Bool isIRAtom(IRExpr *e ) |
| 3531 |
{ |
|
3531 |
{ |
| 3532 |
int tmp ; |
|
3532 |
int tmp ; |
| 3533 |
Bool tmp___0 ; |
|
3533 |
Bool tmp___0 ; |
| 3534 |
|
|
3534 |
|
| 3535 |
{ |
|
3535 |
{ |
| 3536 |
if ((unsigned int )e->tag == 86019U) { |
|
3536 |
if ((unsigned int )e->tag == 86019U) { |
| 3537 |
tmp = 1; |
|
3537 |
tmp = 1; |
| 3538 |
} else |
|
3538 |
} else |
| 3539 |
if ((unsigned int )e->tag == 86025U) { |
|
3539 |
if ((unsigned int )e->tag == 86025U) { |
| 3540 |
tmp = 1; |
|
3540 |
tmp = 1; |
| 3541 |
} else { |
|
3541 |
} else { |
| 3542 |
tmp = 0; |
|
3542 |
tmp = 0; |
| 3543 |
} |
|
3543 |
} |
| 3544 |
tmp___0 = toBool(tmp); |
|
3544 |
tmp___0 = toBool(tmp); |
| 3545 |
return (tmp___0); |
|
3545 |
return (tmp___0); |
| 3546 |
} |
|
3546 |
} |
| 3547 |
} |
|
3547 |
} |
| 3548 |
extern Bool eqIRAtom(IRExpr * , IRExpr * ) ; |
|
3548 |
extern Bool eqIRAtom(IRExpr * , IRExpr * ) ; |
| 3549 |
extern void ppIRJumpKind(IRJumpKind ) ; |
|
3549 |
extern void ppIRJumpKind(IRJumpKind ) ; |
| 3550 |
extern void ppIREffect(IREffect ) ; |
|
3550 |
extern void ppIREffect(IREffect ) ; |
| 3551 |
extern void ppIRDirty(IRDirty * ) ; |
|
3551 |
extern void ppIRDirty(IRDirty * ) ; |
| 3552 |
extern IRDirty *emptyIRDirty(void) ; |
|
3552 |
extern IRDirty *emptyIRDirty(void) ; |
| 3553 |
extern IRDirty *deepCopyIRDirty(IRDirty * ) ; |
|
3553 |
extern IRDirty *deepCopyIRDirty(IRDirty * ) ; |
| 3554 |
extern IRDirty *unsafeIRDirty_0_N(Int regparms , HChar *name , void *addr , |
|
3554 |
extern IRDirty *unsafeIRDirty_0_N(Int regparms , HChar *name , void *addr , |
| 3555 |
IRExpr **args ) ; |
|
3555 |
IRExpr **args ) ; |
| 3556 |
extern IRDirty *unsafeIRDirty_1_N(IRTemp dst , Int regparms , HChar *name , |
|
3556 |
extern IRDirty *unsafeIRDirty_1_N(IRTemp dst , Int regparms , HChar *name , |
| 3557 |
void *addr , IRExpr **args ) ; |
|
3557 |
void *addr , IRExpr **args ) ; |
| 3558 |
extern void ppIRMBusEvent(IRMBusEvent ) ; |
|
3558 |
extern void ppIRMBusEvent(IRMBusEvent ) ; |
| 3559 |
extern void ppIRCAS(IRCAS *cas ) ; |
|
3559 |
extern void ppIRCAS(IRCAS *cas ) ; |
| 3560 |
extern IRCAS *mkIRCAS(IRTemp oldHi , IRTemp oldLo , IREndness end , |
|
3560 |
extern IRCAS *mkIRCAS(IRTemp oldHi , IRTemp oldLo , IREndness end , |
| 3561 |
IRExpr *addr , IRExpr *expdHi , IRExpr *expdLo , |
|
3561 |
IRExpr *addr , IRExpr *expdHi , IRExpr *expdLo , |
| 3562 |
IRExpr *dataHi , IRExpr *dataLo ) ; |
|
3562 |
IRExpr *dataHi , IRExpr *dataLo ) ; |
| 3563 |
extern IRCAS *deepCopyIRCAS(IRCAS * ) ; |
|
3563 |
extern IRCAS *deepCopyIRCAS(IRCAS * ) ; |
| 3564 |
extern IRStmt *IRStmt_NoOp(void) ; |
|
3564 |
extern IRStmt *IRStmt_NoOp(void) ; |
| 3565 |
extern IRStmt *IRStmt_IMark(Addr64 addr , Int len , UChar delta ) ; |
|
3565 |
extern IRStmt *IRStmt_IMark(Addr64 addr , Int len , UChar delta ) ; |
| 3566 |
extern IRStmt *IRStmt_AbiHint(IRExpr *base , Int len , IRExpr *nia ) ; |
|
3566 |
extern IRStmt *IRStmt_AbiHint(IRExpr *base , Int len , IRExpr *nia ) ; |
| 3567 |
extern IRStmt *IRStmt_Put(Int off , IRExpr *data ) ; |
|
3567 |
extern IRStmt *IRStmt_Put(Int off , IRExpr *data ) ; |
| 3568 |
extern IRStmt *IRStmt_PutI(IRRegArray *descr , IRExpr *ix , Int bias , |
|
3568 |
extern IRStmt *IRStmt_PutI(IRRegArray *descr , IRExpr *ix , Int bias , |
| 3569 |
IRExpr *data ) ; |
|
3569 |
IRExpr *data ) ; |
| 3570 |
extern IRStmt *IRStmt_WrTmp(IRTemp tmp , IRExpr *data ) ; |
|
3570 |
extern IRStmt *IRStmt_WrTmp(IRTemp tmp , IRExpr *data ) ; |
| 3571 |
extern IRStmt *IRStmt_Store(IREndness end , IRExpr *addr , IRExpr *data ) ; |
|
3571 |
extern IRStmt *IRStmt_Store(IREndness end , IRExpr *addr , IRExpr *data ) ; |
| 3572 |
extern IRStmt *IRStmt_CAS(IRCAS *details ) ; |
|
3572 |
extern IRStmt *IRStmt_CAS(IRCAS *details ) ; |
| 3573 |
extern IRStmt *IRStmt_LLSC(IREndness end , IRTemp result , IRExpr *addr , |
|
3573 |
extern IRStmt *IRStmt_LLSC(IREndness end , IRTemp result , IRExpr *addr , |
| 3574 |
IRExpr *storedata ) ; |
|
3574 |
IRExpr *storedata ) ; |
| 3575 |
extern IRStmt *IRStmt_Dirty(IRDirty *details ) ; |
|
3575 |
extern IRStmt *IRStmt_Dirty(IRDirty *details ) ; |
| 3576 |
extern IRStmt *IRStmt_MBE(IRMBusEvent event ) ; |
|
3576 |
extern IRStmt *IRStmt_MBE(IRMBusEvent event ) ; |
| 3577 |
extern IRStmt *IRStmt_Exit(IRExpr *guard , IRJumpKind jk , IRConst *dst ) ; |
|
3577 |
extern IRStmt *IRStmt_Exit(IRExpr *guard , IRJumpKind jk , IRConst *dst ) ; |
| 3578 |
extern IRStmt *deepCopyIRStmt(IRStmt * ) ; |
|
3578 |
extern IRStmt *deepCopyIRStmt(IRStmt * ) ; |
| 3579 |
extern void ppIRStmt(IRStmt * ) ; |
|
3579 |
extern void ppIRStmt(IRStmt * ) ; |
| 3580 |
extern IRTemp newIRTemp(IRTypeEnv * , IRType ) ; |
|
3580 |
extern IRTemp newIRTemp(IRTypeEnv * , IRType ) ; |
| 3581 |
extern IRTypeEnv *deepCopyIRTypeEnv(IRTypeEnv * ) ; |
|
3581 |
extern IRTypeEnv *deepCopyIRTypeEnv(IRTypeEnv * ) ; |
| 3582 |
extern void ppIRTypeEnv(IRTypeEnv * ) ; |
|
3582 |
extern void ppIRTypeEnv(IRTypeEnv * ) ; |
| 3583 |
extern IRSB *emptyIRSB(void) ; |
|
3583 |
extern IRSB *emptyIRSB(void) ; |
| 3584 |
extern IRSB *deepCopyIRSB(IRSB * ) ; |
|
3584 |
extern IRSB *deepCopyIRSB(IRSB * ) ; |
| 3585 |
extern IRSB *deepCopyIRSBExceptStmts(IRSB * ) ; |
|
3585 |
extern IRSB *deepCopyIRSBExceptStmts(IRSB * ) ; |
| 3586 |
extern void ppIRSB(IRSB * ) ; |
|
3586 |
extern void ppIRSB(IRSB * ) ; |
| 3587 |
extern void addStmtToIRSB(IRSB * , IRStmt * ) ; |
|
3587 |
extern void addStmtToIRSB(IRSB * , IRStmt * ) ; |
| 3588 |
extern IRTypeEnv *emptyIRTypeEnv(void) ; |
|
3588 |
extern IRTypeEnv *emptyIRTypeEnv(void) ; |
| 3589 |
extern IRType typeOfIRConst(IRConst * ) ; |
|
3589 |
extern IRType typeOfIRConst(IRConst * ) ; |
| 3590 |
extern IRType typeOfIRTemp(IRTypeEnv * , IRTemp ) ; |
|
3590 |
extern IRType typeOfIRTemp(IRTypeEnv * , IRTemp ) ; |
| 3591 |
extern IRType typeOfIRExpr(IRTypeEnv * , IRExpr * ) ; |
|
3591 |
extern IRType typeOfIRExpr(IRTypeEnv * , IRExpr * ) ; |
| 3592 |
extern void sanityCheckIRSB(IRSB *bb , HChar *caller , Bool require_flatness , |
|
3592 |
extern void sanityCheckIRSB(IRSB *bb , HChar *caller , Bool require_flatness , |
| 3593 |
IRType guest_word_size ) ; |
|
3593 |
IRType guest_word_size ) ; |
| 3594 |
extern Bool isFlatIRStmt(IRStmt * ) ; |
|
3594 |
extern Bool isFlatIRStmt(IRStmt * ) ; |
| 3595 |
extern Bool isPlausibleIRType(IRType ty ) ; |
|
3595 |
extern Bool isPlausibleIRType(IRType ty ) ; |
| 3596 |
extern HChar const *LibVEX_ppVexArch(VexArch ) ; |
|
3596 |
extern HChar const *LibVEX_ppVexArch(VexArch ) ; |
| 3597 |
extern HChar const *LibVEX_ppVexHwCaps(VexArch , UInt ) ; |
|
3597 |
extern HChar const *LibVEX_ppVexHwCaps(VexArch , UInt ) ; |
| 3598 |
extern void LibVEX_default_VexArchInfo(VexArchInfo *vai ) ; |
|
3598 |
extern void LibVEX_default_VexArchInfo(VexArchInfo *vai ) ; |
| 3599 |
extern void LibVEX_default_VexAbiInfo(VexAbiInfo *vbi ) ; |
|
3599 |
extern void LibVEX_default_VexAbiInfo(VexAbiInfo *vbi ) ; |
| 3600 |
extern void LibVEX_default_VexControl(VexControl *vcon ) ; |
|
3600 |
extern void LibVEX_default_VexControl(VexControl *vcon ) ; |
| 3601 |
extern HChar *private_LibVEX_alloc_first ; |
|
3601 |
extern HChar *private_LibVEX_alloc_first ; |
| 3602 |
extern HChar *private_LibVEX_alloc_curr ; |
|
3602 |
extern HChar *private_LibVEX_alloc_curr ; |
| 3603 |
extern HChar *private_LibVEX_alloc_last ; |
|
3603 |
extern HChar *private_LibVEX_alloc_last ; |
| 3604 |
extern __attribute__((__noreturn__)) void private_LibVEX_alloc_OOM(void) ; |
|
3604 |
extern __attribute__((__noreturn__)) void private_LibVEX_alloc_OOM(void) ; |
| 3605 |
__inline static void *LibVEX_Alloc(Int nbytes ) |
|
3605 |
__inline static void *LibVEX_Alloc(Int nbytes ) |
| 3606 |
{ |
|
3606 |
{ |
| 3607 |
HChar *curr ; |
|
3607 |
HChar *curr ; |
| 3608 |
HChar *next ; |
|
3608 |
HChar *next ; |
| 3609 |
Int ALIGN ; |
|
3609 |
Int ALIGN ; |
| 3610 |
|
|
3610 |
|
| 3611 |
{ |
|
3611 |
{ |
| 3612 |
ALIGN = (Int )(sizeof(void *) - 1U); |
|
3612 |
ALIGN = (Int )(sizeof(void *) - 1U); |
| 3613 |
nbytes = (nbytes + ALIGN) & ~ ALIGN; |
|
3613 |
nbytes = (nbytes + ALIGN) & ~ ALIGN; |
| 3614 |
curr = private_LibVEX_alloc_curr; |
|
3614 |
curr = private_LibVEX_alloc_curr; |
| 3615 |
next = curr + nbytes; |
|
3615 |
next = curr + nbytes; |
| 3616 |
if ((unsigned int )next >= (unsigned int )private_LibVEX_alloc_last) { |
|
3616 |
if ((unsigned int )next >= (unsigned int )private_LibVEX_alloc_last) { |
| 3617 |
private_LibVEX_alloc_OOM(); |
|
3617 |
private_LibVEX_alloc_OOM(); |
| 3618 |
} else { |
|
3618 |
} else { |
| 3619 |
|
|
3619 |
|
| 3620 |
} |
|
3620 |
} |
| 3621 |
private_LibVEX_alloc_curr = next; |
|
3621 |
private_LibVEX_alloc_curr = next; |
| 3622 |
return ((void *)curr); |
|
3622 |
return ((void *)curr); |
| 3623 |
} |
|
3623 |
} |
| 3624 |
} |
|
3624 |
} |
| 3625 |
extern void LibVEX_ShowAllocStats(void) ; |
|
3625 |
extern void LibVEX_ShowAllocStats(void) ; |
| 3626 |
extern void LibVEX_Init( __attribute__((__noreturn__)) void (*failure_exit)(void) , |
|
3626 |
extern void LibVEX_Init( __attribute__((__noreturn__)) void (*failure_exit)(void) , |
| 3627 |
void (*log_bytes)(HChar * , Int nbytes ) , |
|
3627 |
void (*log_bytes)(HChar * , Int nbytes ) , |
| 3628 |
Int debuglevel , Bool valgrind_support , |
|
3628 |
Int debuglevel , Bool valgrind_support , |
| 3629 |
VexControl *vcon ) ; |
|
3629 |
VexControl *vcon ) ; |
| 3630 |
extern VexTranslateResult LibVEX_Translate(VexTranslateArgs * ) ; |
|
3630 |
extern VexTranslateResult LibVEX_Translate(VexTranslateArgs * ) ; |
| 3631 |
extern void LibVEX_ShowStats(void) ; |
|
3631 |
extern void LibVEX_ShowStats(void) ; |
| 3632 |
extern HChar *LibVEX_EmWarn_string(VexEmWarn ) ; |
|
3632 |
extern HChar *LibVEX_EmWarn_string(VexEmWarn ) ; |
| 3633 |
extern void LibVEX_GuestX86_initialise(VexGuestX86State *vex_state ) ; |
|
3633 |
extern void LibVEX_GuestX86_initialise(VexGuestX86State *vex_state ) ; |
| 3634 |
extern UInt LibVEX_GuestX86_get_eflags(VexGuestX86State *vex_state ) ; |
|
3634 |
extern UInt LibVEX_GuestX86_get_eflags(VexGuestX86State *vex_state ) ; |
| 3635 |
extern void LibVEX_GuestX86_put_eflag_c(UInt new_carry_flag , |
|
3635 |
extern void LibVEX_GuestX86_put_eflag_c(UInt new_carry_flag , |
| 3636 |
VexGuestX86State *vex_state ) ; |
|
3636 |
VexGuestX86State *vex_state ) ; |
| 3637 |
extern void vgPlain_debugLog_startup(Int level , HChar *who ) ; |
|
3637 |
extern void vgPlain_debugLog_startup(Int level , HChar *who ) ; |
| 3638 |
extern Int vgPlain_debugLog_getLevel(void) ; |
|
3638 |
extern Int vgPlain_debugLog_getLevel(void) ; |
| 3639 |
extern void ( vgPlain_debugLog)(Int level , |
|
3639 |
extern void ( vgPlain_debugLog)(Int level , |
| 3640 |
HChar const *modulename , |
|
3640 |
HChar const *modulename , |
| 3641 |
HChar const *format |
|
3641 |
HChar const *format |
| 3642 |
, ...) ; |
|
3642 |
, ...) ; |
| 3643 |
extern UInt vgPlain_debugLog_vprintf(void (*send_fn)(HChar , void * ) , |
|
3643 |
extern UInt vgPlain_debugLog_vprintf(void (*send_fn)(HChar , void * ) , |
| 3644 |
void *send_arg2 , HChar const *format , |
|
3644 |
void *send_arg2 , HChar const *format , |
| 3645 |
va_list vargs ) ; |
|
3645 |
va_list vargs ) ; |
| 3646 |
__inline static struct vki_cmsghdr *__vki_cmsg_nxthdr(void *__ctl , |
|
3646 |
__inline static struct vki_cmsghdr *__vki_cmsg_nxthdr(void *__ctl , |
| 3647 |
__vki_kernel_size_t __size , |
|
3647 |
__vki_kernel_size_t __size , |
| 3648 |
struct vki_cmsghdr *__cmsg ) |
|
3648 |
struct vki_cmsghdr *__cmsg ) |
| 3649 |
{ |
|
3649 |
{ |
| 3650 |
struct vki_cmsghdr *__ptr ; |
|
3650 |
struct vki_cmsghdr *__ptr ; |
| 3651 |
|
|
3651 |
|
| 3652 |
{ |
|
3652 |
{ |
| 3653 |
__ptr = (struct vki_cmsghdr *)((unsigned char *)__cmsg + (((__cmsg->cmsg_len + sizeof(long )) - 1U) & ~ (sizeof(long ) - 1U))); |
|
3653 |
__ptr = (struct vki_cmsghdr *)((unsigned char *)__cmsg + (((__cmsg->cmsg_len + sizeof(long )) - 1U) & ~ (sizeof(long ) - 1U))); |
| 3654 |
if ((unsigned long )((char *)(__ptr + 1) - (char *)__ctl) > (unsigned long )__size) { |
|
3654 |
if ((unsigned long )((char *)(__ptr + 1) - (char *)__ctl) > (unsigned long )__size) { |
| 3655 |
return ((struct vki_cmsghdr *)0); |
|
3655 |
return ((struct vki_cmsghdr *)0); |
| 3656 |
} else { |
|
3656 |
} else { |
| 3657 |
|
|
3657 |
|
| 3658 |
} |
|
3658 |
} |
| 3659 |
return (__ptr); |
|
3659 |
return (__ptr); |
| 3660 |
} |
|
3660 |
} |
| 3661 |
} |
|
3661 |
} |
| 3662 |
__inline static struct vki_cmsghdr *vki_cmsg_nxthdr(struct vki_msghdr *__msg , |
|
3662 |
__inline static struct vki_cmsghdr *vki_cmsg_nxthdr(struct vki_msghdr *__msg , |
| 3663 |
struct vki_cmsghdr *__cmsg ) |
|
3663 |
struct vki_cmsghdr *__cmsg ) |
| 3664 |
{ |
|
3664 |
{ |
| 3665 |
struct vki_cmsghdr *tmp ; |
|
3665 |
struct vki_cmsghdr *tmp ; |
| 3666 |
|
|
3666 |
|
| 3667 |
{ |
|
3667 |
{ |
| 3668 |
tmp = __vki_cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg); |
|
3668 |
tmp = __vki_cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg); |
| 3669 |
return (tmp); |
|
3669 |
return (tmp); |
| 3670 |
} |
|
3670 |
} |
| 3671 |
} |
|
3671 |
} |
| 3672 |
extern void vgPlain_vki_do_initial_consistency_checks(void) ; |
|
3672 |
extern void vgPlain_vki_do_initial_consistency_checks(void) ; |
| 3673 |
extern Char *vgPlain_sysnum_string(Word sysnum , SizeT n_buf , Char *buf ) ; |
|
3673 |
extern Char *vgPlain_sysnum_string(Word sysnum , SizeT n_buf , Char *buf ) ; |
| 3674 |
extern Char *vgPlain_sysnum_string_extra(Word sysnum , SizeT n_buf , Char *buf ) ; |
|
3674 |
extern Char *vgPlain_sysnum_string_extra(Word sysnum , SizeT n_buf , Char *buf ) ; |
| 3675 |
extern __attribute__((__nothrow__)) int setjmp(struct __jmp_buf_tag *__env ) ; |
|
3675 |
extern __attribute__((__nothrow__)) int setjmp(struct __jmp_buf_tag *__env ) ; |
| 3676 |
extern __attribute__((__nothrow__)) int __sigsetjmp(struct __jmp_buf_tag *__env , |
|
3676 |
extern __attribute__((__nothrow__)) int __sigsetjmp(struct __jmp_buf_tag *__env , |
| 3677 |
int __savemask ) ; |
|
3677 |
int __savemask ) ; |
| 3678 |
extern __attribute__((__nothrow__)) int _setjmp(struct __jmp_buf_tag *__env ) ; |
|
3678 |
extern __attribute__((__nothrow__)) int _setjmp(struct __jmp_buf_tag *__env ) ; |
| 3679 |
extern __attribute__((__nothrow__, |
|
3679 |
extern __attribute__((__nothrow__, |
| 3680 |
__noreturn__)) void longjmp(struct __jmp_buf_tag *__env , int __val ) ; |
|
3680 |
__noreturn__)) void longjmp(struct __jmp_buf_tag *__env , int __val ) ; |
| 3681 |
extern __attribute__((__nothrow__, |
|
3681 |
extern __attribute__((__nothrow__, |
| 3682 |
__noreturn__)) void _longjmp(struct __jmp_buf_tag *__env , int __val ) ; |
|
3682 |
__noreturn__)) void _longjmp(struct __jmp_buf_tag *__env , int __val ) ; |
| 3683 |
extern __attribute__((__nothrow__, |
|
3683 |
extern __attribute__((__nothrow__, |
| 3684 |
__noreturn__)) void siglongjmp(struct __jmp_buf_tag *__env , int __val ) ; |
|
3684 |
__noreturn__)) void siglongjmp(struct __jmp_buf_tag *__env , int __val ) ; |
| 3685 |
extern ThreadId vgPlain_get_running_tid(void) ; |
|
3685 |
extern ThreadId vgPlain_get_running_tid(void) ; |
| 3686 |
extern ThreadState vgPlain_threads[500] ; |
|
3686 |
extern ThreadState vgPlain_threads[500] ; |
| 3687 |
extern ThreadId vgPlain_running_tid ; |
|
3687 |
extern ThreadId vgPlain_running_tid ; |
| 3688 |
extern HChar const *vgPlain_name_of_ThreadStatus(ThreadStatus status ) ; |
|
3688 |
extern HChar const *vgPlain_name_of_ThreadStatus(ThreadStatus status ) ; |
| 3689 |
extern ThreadState *vgPlain_get_ThreadState(ThreadId tid ) ; |
|
3689 |
extern ThreadState *vgPlain_get_ThreadState(ThreadId tid ) ; |
| 3690 |
extern Bool vgPlain_is_valid_tid(ThreadId tid ) ; |
|
3690 |
extern Bool vgPlain_is_valid_tid(ThreadId tid ) ; |
| 3691 |
extern Bool vgPlain_is_running_thread(ThreadId tid ) ; |
|
3691 |
extern Bool vgPlain_is_running_thread(ThreadId tid ) ; |
| 3692 |
extern Bool vgPlain_is_exiting(ThreadId tid ) ; |
|
3692 |
extern Bool vgPlain_is_exiting(ThreadId tid ) ; |
| 3693 |
extern Int vgPlain_count_living_threads(void) ; |
|
3693 |
extern Int vgPlain_count_living_threads(void) ; |
| 3694 |
extern Int vgPlain_count_runnable_threads(void) ; |
|
3694 |
extern Int vgPlain_count_runnable_threads(void) ; |
| 3695 |
extern ThreadId vgPlain_lwpid_to_vgtid(Int lwpid ) ; |
|
3695 |
extern ThreadId vgPlain_lwpid_to_vgtid(Int lwpid ) ; |
| 3696 |
extern Int vgPlain_am_get_segment_starts(Addr *starts , Int nStarts ) ; |
|
3696 |
extern Int vgPlain_am_get_segment_starts(Addr *starts , Int nStarts ) ; |
| 3697 |
extern NSegment const *vgPlain_am_find_nsegment(Addr a ) ; |
|
3697 |
extern NSegment const *vgPlain_am_find_nsegment(Addr a ) ; |
| 3698 |
extern HChar *vgPlain_am_get_filename(NSegment const * ) ; |
|
3698 |
extern HChar *vgPlain_am_get_filename(NSegment const * ) ; |
| 3699 |
extern Bool vgPlain_am_is_valid_for_client(Addr start , SizeT len , UInt prot ) ; |
|
3699 |
extern Bool vgPlain_am_is_valid_for_client(Addr start , SizeT len , UInt prot ) ; |
| 3700 |
extern void *vgPlain_am_shadow_alloc(SizeT size ) ; |
|
3700 |
extern void *vgPlain_am_shadow_alloc(SizeT size ) ; |
| 3701 |
extern SysRes vgPlain_am_munmap_valgrind(Addr start , SizeT length ) ; |
|
3701 |
extern SysRes vgPlain_am_munmap_valgrind(Addr start , SizeT length ) ; |
| 3702 |
extern Addr vgPlain_am_startup(Addr sp_at_startup ) ; |
|
3702 |
extern Addr vgPlain_am_startup(Addr sp_at_startup ) ; |
| 3703 |
extern NSegment const *vgPlain_am_next_nsegment(NSegment *here , Bool fwds ) ; |
|
3703 |
extern NSegment const *vgPlain_am_next_nsegment(NSegment *here , Bool fwds ) ; |
| 3704 |
extern Bool vgPlain_am_is_valid_for_client_or_free_or_resvn(Addr start , |
|
3704 |
extern Bool vgPlain_am_is_valid_for_client_or_free_or_resvn(Addr start , |
| 3705 |
SizeT len , |
|
3705 |
SizeT len , |
| 3706 |
UInt prot ) ; |
|
3706 |
UInt prot ) ; |
| 3707 |
extern ULong vgPlain_am_get_anonsize_total(void) ; |
|
3707 |
extern ULong vgPlain_am_get_anonsize_total(void) ; |
| 3708 |
extern void vgPlain_am_show_nsegments(Int logLevel , HChar *who ) ; |
|
3708 |
extern void vgPlain_am_show_nsegments(Int logLevel , HChar *who ) ; |
| 3709 |
extern Bool vgPlain_am_do_sync_check(HChar const *fn , HChar const *file , |
|
3709 |
extern Bool vgPlain_am_do_sync_check(HChar const *fn , HChar const *file , |
| 3710 |
Int line ) ; |
|
3710 |
Int line ) ; |
| 3711 |
extern Addr vgPlain_am_get_advisory(MapRequest *req , Bool forClient , Bool *ok ) ; |
|
3711 |
extern Addr vgPlain_am_get_advisory(MapRequest *req , Bool forClient , Bool *ok ) ; |
| 3712 |
extern Addr vgPlain_am_get_advisory_client_simple(Addr start , SizeT len , |
|
3712 |
extern Addr vgPlain_am_get_advisory_client_simple(Addr start , SizeT len , |
| 3713 |
Bool *ok ) ; |
|
3713 |
Bool *ok ) ; |
| 3714 |
extern Bool vgPlain_am_notify_client_mmap(Addr a , SizeT len , UInt prot , |
|
3714 |
extern Bool vgPlain_am_notify_client_mmap(Addr a , SizeT len , UInt prot , |
| 3715 |
UInt flags , Int fd , Off64T offset ) ; |
|
3715 |
UInt flags , Int fd , Off64T offset ) ; |
| 3716 |
extern Bool vgPlain_am_notify_client_shmat(Addr a , SizeT len , UInt prot ) ; |
|
3716 |
extern Bool vgPlain_am_notify_client_shmat(Addr a , SizeT len , UInt prot ) ; |
| 3717 |
extern Bool vgPlain_am_notify_mprotect(Addr start , SizeT len , UInt prot ) ; |
|
3717 |
extern Bool vgPlain_am_notify_mprotect(Addr start , SizeT len , UInt prot ) ; |
| 3718 |
extern Bool vgPlain_am_notify_munmap(Addr start , SizeT len ) ; |
|
3718 |
extern Bool vgPlain_am_notify_munmap(Addr start , SizeT len ) ; |
| 3719 |
extern SysRes vgPlain_am_do_mmap_NO_NOTIFY(Addr start , SizeT length , |
|
3719 |
extern SysRes vgPlain_am_do_mmap_NO_NOTIFY(Addr start , SizeT length , |
| 3720 |
UInt prot , UInt flags , Int fd , |
|
3720 |
UInt prot , UInt flags , Int fd , |
| 3721 |
Off64T offset ) ; |
|
3721 |
Off64T offset ) ; |
| 3722 |
extern void vgPlain_am_aix5_reread_procmap(AixCodeSegChange *directives , |
|
3722 |
extern void vgPlain_am_aix5_reread_procmap(AixCodeSegChange *directives , |
| 3723 |
Int *ndirectives ) ; |
|
3723 |
Int *ndirectives ) ; |
| 3724 |
extern Int vgPlain_am_aix5_reread_procmap_howmany_directives(void) ; |
|
3724 |
extern Int vgPlain_am_aix5_reread_procmap_howmany_directives(void) ; |
| 3725 |
extern void vgPlain_am_aix5_set_initial_client_sp(Addr ) ; |
|
3725 |
extern void vgPlain_am_aix5_set_initial_client_sp(Addr ) ; |
| 3726 |
extern Bool vgPlain_am_aix5_sbrk_allowed ; |
|
3726 |
extern Bool vgPlain_am_aix5_sbrk_allowed ; |
| 3727 |
extern SysRes vgPlain_am_mmap_file_fixed_client(Addr start , SizeT length , |
|
3727 |
extern SysRes vgPlain_am_mmap_file_fixed_client(Addr start , SizeT length , |
| 3728 |
UInt prot , Int fd , |
|
3728 |
UInt prot , Int fd , |
| 3729 |
Off64T offset ) ; |
|
3729 |
Off64T offset ) ; |
| 3730 |
extern SysRes vgPlain_am_mmap_named_file_fixed_client(Addr start , |
|
3730 |
extern SysRes vgPlain_am_mmap_named_file_fixed_client(Addr start , |
| 3731 |
SizeT length , UInt prot , |
|
3731 |
SizeT length , UInt prot , |
| 3732 |
Int fd , Off64T offset , |
|
3732 |
Int fd , Off64T offset , |
| 3733 |
HChar const *name ) ; |
|
3733 |
HChar const *name ) ; |
| 3734 |
extern SysRes vgPlain_am_mmap_anon_fixed_client(Addr start , SizeT length , |
|
3734 |
extern SysRes vgPlain_am_mmap_anon_fixed_client(Addr start , SizeT length , |
| 3735 |
UInt prot ) ; |
|
3735 |
UInt prot ) ; |
| 3736 |
extern SysRes vgPlain_am_mmap_anon_float_client(SizeT length , Int prot ) ; |
|
3736 |
extern SysRes vgPlain_am_mmap_anon_float_client(SizeT length , Int prot ) ; |
| 3737 |
extern SysRes vgPlain_am_sbrk_anon_float_client(SizeT length , Int prot ) ; |
|
3737 |
extern SysRes vgPlain_am_sbrk_anon_float_client(SizeT length , Int prot ) ; |
| 3738 |
extern SysRes vgPlain_am_mmap_anon_float_valgrind(SizeT cszB ) ; |
|
3738 |
extern SysRes vgPlain_am_mmap_anon_float_valgrind(SizeT cszB ) ; |
| 3739 |
extern SysRes vgPlain_am_sbrk_anon_float_valgrind(SizeT cszB ) ; |
|
3739 |
extern SysRes vgPlain_am_sbrk_anon_float_valgrind(SizeT cszB ) ; |
| 3740 |
extern SysRes vgPlain_am_mmap_file_float_valgrind(SizeT length , UInt prot , |
|
3740 |
extern SysRes vgPlain_am_mmap_file_float_valgrind(SizeT length , UInt prot , |
| 3741 |
Int fd , Off64T offset ) ; |
|
3741 |
Int fd , Off64T offset ) ; |
| 3742 |
extern SysRes vgPlain_am_shared_mmap_file_float_valgrind(SizeT length , |
|
3742 |
extern SysRes vgPlain_am_shared_mmap_file_float_valgrind(SizeT length , |
| 3743 |
UInt prot , Int fd , |
|
3743 |
UInt prot , Int fd , |
| 3744 |
Off64T offset ) ; |
|
3744 |
Off64T offset ) ; |
| 3745 |
extern SysRes vgPlain_am_munmap_client(Bool *need_discard , Addr start , |
|
3745 |
extern SysRes vgPlain_am_munmap_client(Bool *need_discard , Addr start , |
| 3746 |
SizeT length ) ; |
|
3746 |
SizeT length ) ; |
| 3747 |
extern Bool vgPlain_am_change_ownership_v_to_c(Addr start , SizeT len ) ; |
|
3747 |
extern Bool vgPlain_am_change_ownership_v_to_c(Addr start , SizeT len ) ; |
| 3748 |
extern void vgPlain_am_set_segment_isCH_if_SkAnonC(NSegment *seg ) ; |
|
3748 |
extern void vgPlain_am_set_segment_isCH_if_SkAnonC(NSegment *seg ) ; |
| 3749 |
extern void vgPlain_am_set_segment_hasT_if_SkFileC_or_SkAnonC(NSegment * ) ; |
|
3749 |
extern void vgPlain_am_set_segment_hasT_if_SkFileC_or_SkAnonC(NSegment * ) ; |
| 3750 |
extern Bool vgPlain_am_create_reservation(Addr start , SizeT length , |
|
3750 |
extern Bool vgPlain_am_create_reservation(Addr start , SizeT length , |
| 3751 |
ShrinkMode smode , SSizeT extra ) ; |
|
3751 |
ShrinkMode smode , SSizeT extra ) ; |
| 3752 |
extern Bool vgPlain_am_extend_into_adjacent_reservation_client(NSegment *seg , |
|
3752 |
extern Bool vgPlain_am_extend_into_adjacent_reservation_client(NSegment *seg , |
| 3753 |
SSizeT delta ) ; |
|
3753 |
SSizeT delta ) ; |
| 3754 |
extern Bool vgPlain_am_extend_map_client(Bool *need_discard , NSegment *seg , |
|
3754 |
extern Bool vgPlain_am_extend_map_client(Bool *need_discard , NSegment *seg , |
| 3755 |
SizeT delta ) ; |
|
3755 |
SizeT delta ) ; |
| 3756 |
extern Bool vgPlain_am_relocate_nooverlap_client(Bool *need_discard , |
|
3756 |
extern Bool vgPlain_am_relocate_nooverlap_client(Bool *need_discard , |
| 3757 |
Addr old_addr , SizeT old_len , |
|
3757 |
Addr old_addr , SizeT old_len , |
| 3758 |
Addr new_addr , SizeT new_len ) ; |
|
3758 |
Addr new_addr , SizeT new_len ) ; |
| 3759 |
extern VgStack *vgPlain_am_alloc_VgStack(Addr *initial_sp ) ; |
|
3759 |
extern VgStack *vgPlain_am_alloc_VgStack(Addr *initial_sp ) ; |
| 3760 |
extern SizeT vgPlain_am_get_VgStack_unused_szB(VgStack *stack , SizeT limit ) ; |
|
3760 |
extern SizeT vgPlain_am_get_VgStack_unused_szB(VgStack *stack , SizeT limit ) ; |
| 3761 |
static int ( VALGRIND_PRINTF)(char const *format |
|
3761 |
static int ( VALGRIND_PRINTF)(char const *format |
| 3762 |
, ...) __attribute__((__unused__)) ; |
|
3762 |
, ...) __attribute__((__unused__)) ; |
| 3763 |
static int ( VALGRIND_PRINTF)(char const *format |
|
3763 |
static int ( VALGRIND_PRINTF)(char const *format |
| 3764 |
, ...) __attribute__((__unused__)) ; |
|
3764 |
, ...) __attribute__((__unused__)) ; |
| 3765 |
static int ( VALGRIND_PRINTF)(char const *format |
|
3765 |
static int ( VALGRIND_PRINTF)(char const *format |
| 3766 |
, ...) |
|
3766 |
, ...) |
| 3767 |
{ |
|
3767 |
{ |
| 3768 |
unsigned long _qzz_res ; |
|
3768 |
unsigned long _qzz_res ; |
| 3769 |
va_list vargs ; |
|
3769 |
va_list vargs ; |
| 3770 |
unsigned int volatile _zzq_args[6] ; |
|
3770 |
unsigned int volatile _zzq_args[6] ; |
| 3771 |
unsigned int volatile _zzq_result ; |
|
3771 |
unsigned int volatile _zzq_result ; |
| 3772 |
|
|
3772 |
|
| 3773 |
{ |
|
3773 |
{ |
| 3774 |
__builtin_va_start(vargs, format); |
|
3774 |
__builtin_va_start(vargs, format); |
| 3775 |
_zzq_args[0] = (unsigned int volatile )5123U; |
|
3775 |
_zzq_args[0] = (unsigned int volatile )5123U; |
| 3776 |
_zzq_args[1] = (unsigned int volatile )((unsigned int )((unsigned long )format)); |
|
3776 |
_zzq_args[1] = (unsigned int volatile )((unsigned int )((unsigned long )format)); |
| 3777 |
_zzq_args[2] = (unsigned int volatile )((unsigned int )((unsigned long )(& vargs))); |
|
3777 |
_zzq_args[2] = (unsigned int volatile )((unsigned int )((unsigned long )(& vargs))); |
| 3778 |
_zzq_args[3] = (unsigned int volatile )0U; |
|
3778 |
_zzq_args[3] = (unsigned int volatile )0U; |
| 3779 |
_zzq_args[4] = (unsigned int volatile )0U; |
|
3779 |
_zzq_args[4] = (unsigned int volatile )0U; |
| 3780 |
_zzq_args[5] = (unsigned int volatile )0U; |
|
3780 |
_zzq_args[5] = (unsigned int volatile )0U; |
| 3781 |
__asm__ volatile ("roll $3, %%edi ; roll $13, %%edi\n\t" |
|
3781 |
__asm__ volatile ("roll $3, %%edi ; roll $13, %%edi\n\t" |
| 3782 |
"roll $29, %%edi ; roll $19, %%edi\n\t" |
|
3782 |
"roll $29, %%edi ; roll $19, %%edi\n\t" |
| 3783 |
"xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]), |
|
3783 |
"xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]), |
| 3784 |
"0" (0): "cc", "memory"); |
|
3784 |
"0" (0): "cc", "memory"); |
| 3785 |
_qzz_res = (unsigned long )_zzq_result; |
|
3785 |
_qzz_res = (unsigned long )_zzq_result; |
| 3786 |
__builtin_va_end(vargs); |
|
3786 |
__builtin_va_end(vargs); |
| 3787 |
return ((int )_qzz_res); |
|
3787 |
return ((int )_qzz_res); |
| 3788 |
} |
|
3788 |
} |
| 3789 |
} |
|
3789 |
} |
| 3790 |
static int ( VALGRIND_PRINTF_BACKTRACE)(char const *format |
|
3790 |
static int ( VALGRIND_PRINTF_BACKTRACE)(char const *format |
| 3791 |
, ...) __attribute__((__unused__)) ; |
|
3791 |
, ...) __attribute__((__unused__)) ; |
| 3792 |
static int ( VALGRIND_PRINTF_BACKTRACE)(char const *format |
|
3792 |
static int ( VALGRIND_PRINTF_BACKTRACE)(char const *format |
| 3793 |
, ...) __attribute__((__unused__)) ; |
|
3793 |
, ...) __attribute__((__unused__)) ; |
| 3794 |
static int ( VALGRIND_PRINTF_BACKTRACE)(char const *format |
|
3794 |
static int ( VALGRIND_PRINTF_BACKTRACE)(char const *format |
| 3795 |
, ...) |
|
3795 |
, ...) |
| 3796 |
{ |
|
3796 |
{ |
| 3797 |
unsigned long _qzz_res ; |
|
3797 |
unsigned long _qzz_res ; |
| 3798 |
va_list vargs ; |
|
3798 |
va_list vargs ; |
| 3799 |
unsigned int volatile _zzq_args[6] ; |
|
3799 |
unsigned int volatile _zzq_args[6] ; |
| 3800 |
unsigned int volatile _zzq_result ; |
|
3800 |
unsigned int volatile _zzq_result ; |
| 3801 |
|
|
3801 |
|
| 3802 |
{ |
|
3802 |
{ |
| 3803 |
__builtin_va_start(vargs, format); |
|
3803 |
__builtin_va_start(vargs, format); |
| 3804 |
_zzq_args[0] = (unsigned int volatile )5124U; |
|
3804 |
_zzq_args[0] = (unsigned int volatile )5124U; |
| 3805 |
_zzq_args[1] = (unsigned int volatile )((unsigned int )((unsigned long )format)); |
|
3805 |
_zzq_args[1] = (unsigned int volatile )((unsigned int )((unsigned long )format)); |
| 3806 |
_zzq_args[2] = (unsigned int volatile )((unsigned int )((unsigned long )(& vargs))); |
|
3806 |
_zzq_args[2] = (unsigned int volatile )((unsigned int )((unsigned long )(& vargs))); |
| 3807 |
_zzq_args[3] = (unsigned int volatile )0U; |
|
3807 |
_zzq_args[3] = (unsigned int volatile )0U; |
| 3808 |
_zzq_args[4] = (unsigned int volatile )0U; |
|
3808 |
_zzq_args[4] = (unsigned int volatile )0U; |
| 3809 |
_zzq_args[5] = (unsigned int volatile )0U; |
|
3809 |
_zzq_args[5] = (unsigned int volatile )0U; |
| 3810 |
__asm__ volatile ("roll $3, %%edi ; roll $13, %%edi\n\t" |
|
3810 |
__asm__ volatile ("roll $3, %%edi ; roll $13, %%edi\n\t" |
| 3811 |
"roll $29, %%edi ; roll $19, %%edi\n\t" |
|
3811 |
"roll $29, %%edi ; roll $19, %%edi\n\t" |
| 3812 |
"xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]), |
|
3812 |
"xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]), |
| 3813 |
"0" (0): "cc", "memory"); |
|
3813 |
"0" (0): "cc", "memory"); |
| 3814 |
_qzz_res = (unsigned long )_zzq_result; |
|
3814 |
_qzz_res = (unsigned long )_zzq_result; |
| 3815 |
__builtin_va_end(vargs); |
|
3815 |
__builtin_va_end(vargs); |
| 3816 |
return ((int )_qzz_res); |
|
3816 |
return ((int )_qzz_res); |
| 3817 |
} |
|
3817 |
} |
| 3818 |
} |
|
3818 |
} |
| 3819 |
static int ( VALGRIND_INTERNAL_PRINTF)(char const *format |
|
3819 |
static int ( VALGRIND_INTERNAL_PRINTF)(char const *format |
| 3820 |
, ...) __attribute__((__unused__)) ; |
|
3820 |
, ...) __attribute__((__unused__)) ; |
| 3821 |
static int ( VALGRIND_INTERNAL_PRINTF)(char const *format |
|
3821 |
static int ( VALGRIND_INTERNAL_PRINTF)(char const *format |
| 3822 |
, ...) __attribute__((__unused__)) ; |
|
3822 |
, ...) __attribute__((__unused__)) ; |
| 3823 |
static int ( VALGRIND_INTERNAL_PRINTF)(char const *format |
|
3823 |
static int ( VALGRIND_INTERNAL_PRINTF)(char const *format |
| 3824 |
, ...) |
|
3824 |
, ...) |
| 3825 |
{ |
|
3825 |
{ |
| 3826 |
unsigned long _qzz_res ; |
|
3826 |
unsigned long _qzz_res ; |
| 3827 |
va_list vargs ; |
|
3827 |
va_list vargs ; |
| 3828 |
unsigned int volatile _zzq_args[6] ; |
|
3828 |
unsigned int volatile _zzq_args[6] ; |
| 3829 |
unsigned int volatile _zzq_result ; |
|
3829 |
unsigned int volatile _zzq_result ; |
| 3830 |
|
|
3830 |
|
| 3831 |
{ |
|
3831 |
{ |
| 3832 |
_qzz_res = 0UL; |
|
3832 |
_qzz_res = 0UL; |
| 3833 |
__builtin_va_start(vargs, format); |
|
3833 |
__builtin_va_start(vargs, format); |
| 3834 |
_zzq_args[0] = (unsigned int volatile )12547U; |
|
3834 |
_zzq_args[0] = (unsigned int volatile )12547U; |
| 3835 |
_zzq_args[1] = (unsigned int volatile )((unsigned int )((unsigned long )format)); |
|
3835 |
_zzq_args[1] = (unsigned int volatile )((unsigned int )((unsigned long )format)); |
| 3836 |
_zzq_args[2] = (unsigned int volatile )((unsigned int )((unsigned long )(& vargs))); |
|
3836 |
_zzq_args[2] = (unsigned int volatile )((unsigned int )((unsigned long )(& vargs))); |
| 3837 |
_zzq_args[3] = (unsigned int volatile )0U; |
|
3837 |
_zzq_args[3] = (unsigned int volatile )0U; |
| 3838 |
_zzq_args[4] = (unsigned int volatile )0U; |
|
3838 |
_zzq_args[4] = (unsigned int volatile )0U; |
| 3839 |
_zzq_args[5] = (unsigned int volatile )0U; |
|
3839 |
_zzq_args[5] = (unsigned int volatile )0U; |
| 3840 |
__asm__ volatile ("roll $3, %%edi ; roll $13, %%edi\n\t" |
|
3840 |
__asm__ volatile ("roll $3, %%edi ; roll $13, %%edi\n\t" |
| 3841 |
"roll $29, %%edi ; roll $19, %%edi\n\t" |
|
3841 |
"roll $29, %%edi ; roll $19, %%edi\n\t" |
| 3842 |
"xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]), |
|
3842 |
"xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]), |
| 3843 |
"0" (0): "cc", "memory"); |
|
3843 |
"0" (0): "cc", "memory"); |
| 3844 |
_qzz_res = (unsigned long )_zzq_result; |
|
3844 |
_qzz_res = (unsigned long )_zzq_result; |
| 3845 |
__builtin_va_end(vargs); |
|
3845 |
__builtin_va_end(vargs); |
| 3846 |
return ((int )_qzz_res); |
|
3846 |
return ((int )_qzz_res); |
| 3847 |
} |
|
3847 |
} |
| 3848 |
} |
|
3848 |
} |
| 3849 |
extern UWord vgPlain_run_innerloop(void *guest_state , UWord do_profiling ) ; |
|
3849 |
extern UWord vgPlain_run_innerloop(void *guest_state , UWord do_profiling ) ; |
| 3850 |
extern Addr vgPlain_run_innerloop__dispatch_unassisted_unprofiled ; |
|
3850 |
extern Addr vgPlain_run_innerloop__dispatch_unassisted_unprofiled ; |
| 3851 |
extern Addr vgPlain_run_innerloop__dispatch_assisted_unprofiled ; |
|
3851 |
extern Addr vgPlain_run_innerloop__dispatch_assisted_unprofiled ; |
| 3852 |
extern Addr vgPlain_run_innerloop__dispatch_unassisted_profiled ; |
|
3852 |
extern Addr vgPlain_run_innerloop__dispatch_unassisted_profiled ; |
| 3853 |
extern Addr vgPlain_run_innerloop__dispatch_assisted_profiled ; |
|
3853 |
extern Addr vgPlain_run_innerloop__dispatch_assisted_profiled ; |
| 3854 |
extern void vgPlain_run_a_noredir_translation(UWord volatile *argblock ) ; |
|
3854 |
extern void vgPlain_run_a_noredir_translation(UWord volatile *argblock ) ; |
| 3855 |
extern Addr vgPlain_run_a_noredir_translation__return_point ; |
|
3855 |
extern Addr vgPlain_run_a_noredir_translation__return_point ; |
| 3856 |
extern ExeContext *vgPlain_record_ExeContext(ThreadId tid , Word first_ip_delta ) ; |
|
3856 |
extern ExeContext *vgPlain_record_ExeContext(ThreadId tid , Word first_ip_delta ) ; |
| 3857 |
extern ExeContext *vgPlain_record_depth_1_ExeContext(ThreadId tid ) ; |
|
3857 |
extern ExeContext *vgPlain_record_depth_1_ExeContext(ThreadId tid ) ; |
| 3858 |
extern void vgPlain_apply_ExeContext(void (*action)(UInt n , Addr ip ) , |
|
3858 |
extern void vgPlain_apply_ExeContext(void (*action)(UInt n , Addr ip ) , |
| 3859 |
ExeContext *ec , UInt n_ips ) ; |
|
3859 |
ExeContext *ec , UInt n_ips ) ; |
| 3860 |
extern Bool vgPlain_eq_ExeContext(VgRes res , ExeContext *e1 , ExeContext *e2 ) ; |
|
3860 |
extern Bool vgPlain_eq_ExeContext(VgRes res , ExeContext *e1 , ExeContext *e2 ) ; |
| 3861 |
extern void vgPlain_pp_ExeContext(ExeContext *ec ) ; |
|
3861 |
extern void vgPlain_pp_ExeContext(ExeContext *ec ) ; |
| 3862 |
extern UInt vgPlain_get_ECU_from_ExeContext(ExeContext *e ) ; |
|
3862 |
extern UInt vgPlain_get_ECU_from_ExeContext(ExeContext *e ) ; |
| 3863 |
extern Int vgPlain_get_ExeContext_n_ips(ExeContext *e ) ; |
|
3863 |
extern Int vgPlain_get_ExeContext_n_ips(ExeContext *e ) ; |
| 3864 |
extern ExeContext *vgPlain_get_ExeContext_from_ECU(UInt uniq ) ; |
|
3864 |
extern ExeContext *vgPlain_get_ExeContext_from_ECU(UInt uniq ) ; |
| 3865 |
extern ExeContext *vgPlain_make_depth_1_ExeContext_from_Addr(Addr a ) ; |
|
3865 |
extern ExeContext *vgPlain_make_depth_1_ExeContext_from_Addr(Addr a ) ; |
| 3866 |
__inline static Bool vgPlain_is_plausible_ECU(UInt ecu ) |
|
3866 |
__inline static Bool vgPlain_is_plausible_ECU(UInt ecu ) |
| 3867 |
{ |
|
3867 |
{ |
| 3868 |
int tmp ; |
|
3868 |
int tmp ; |
| 3869 |
|
|
3869 |
|
| 3870 |
{ |
|
3870 |
{ |
| 3871 |
if (ecu > 0U) { |
|
3871 |
if (ecu > 0U) { |
| 3872 |
if ((ecu & 3U) == 0U) { |
|
3872 |
if ((ecu & 3U) == 0U) { |
| 3873 |
tmp = 1; |
|
3873 |
tmp = 1; |
| 3874 |
} else { |
|
3874 |
} else { |
| 3875 |
tmp = 0; |
|
3875 |
tmp = 0; |
| 3876 |
} |
|
3876 |
} |
| 3877 |
} else { |
|
3877 |
} else { |
| 3878 |
tmp = 0; |
|
3878 |
tmp = 0; |
| 3879 |
} |
|
3879 |
} |
| 3880 |
return ((Bool )tmp); |
|
3880 |
return ((Bool )tmp); |
| 3881 |
} |
|
3881 |
} |
| 3882 |
} |
|
3882 |
} |
| 3883 |
extern ExeContext *vgPlain_make_ExeContext_from_StackTrace(Addr *ips , |
|
3883 |
extern ExeContext *vgPlain_make_ExeContext_from_StackTrace(Addr *ips , |
| 3884 |
UInt n_ips ) ; |
|
3884 |
UInt n_ips ) ; |
| 3885 |
extern ExeContext *vgPlain_get_error_where(Error *err ) ; |
|
3885 |
extern ExeContext *vgPlain_get_error_where(Error *err ) ; |
| 3886 |
extern ErrorKind vgPlain_get_error_kind(Error *err ) ; |
|
3886 |
extern ErrorKind vgPlain_get_error_kind(Error *err ) ; |
| 3887 |
extern Addr vgPlain_get_error_address(Error *err ) ; |
|
3887 |
extern Addr vgPlain_get_error_address(Error *err ) ; |
| 3888 |
extern Char *vgPlain_get_error_string(Error *err ) ; |
|
3888 |
extern Char *vgPlain_get_error_string(Error *err ) ; |
| 3889 |
extern void *vgPlain_get_error_extra(Error *err ) ; |
|
3889 |
extern void *vgPlain_get_error_extra(Error *err ) ; |
| 3890 |
extern void vgPlain_maybe_record_error(ThreadId tid , ErrorKind ekind , Addr a , |
|
3890 |
extern void vgPlain_maybe_record_error(ThreadId tid , ErrorKind ekind , Addr a , |
| 3891 |
Char *s , void *extra ) ; |
|
3891 |
Char *s , void *extra ) ; |
| 3892 |
extern Bool vgPlain_unique_error(ThreadId tid , ErrorKind ekind , Addr a , |
|
3892 |
extern Bool vgPlain_unique_error(ThreadId tid , ErrorKind ekind , Addr a , |
| 3893 |
Char *s , void *extra , ExeContext *where , |
|
3893 |
Char *s , void *extra , ExeContext *where , |
| 3894 |
Bool print_error , Bool allow_GDB_attach , |
|
3894 |
Bool print_error , Bool allow_GDB_attach , |
| 3895 |
Bool count_error ) ; |
|
3895 |
Bool count_error ) ; |
| 3896 |
extern Bool vgPlain_get_line(Int fd , Char **bufpp , SizeT *nBufp , Int *lineno ) ; |
|
3896 |
extern Bool vgPlain_get_line(Int fd , Char **bufpp , SizeT *nBufp , Int *lineno ) ; |
| 3897 |
extern SuppKind vgPlain_get_supp_kind(Supp *su ) ; |
|
3897 |
extern SuppKind vgPlain_get_supp_kind(Supp *su ) ; |
| 3898 |
extern Char *vgPlain_get_supp_string(Supp *su ) ; |
|
3898 |
extern Char *vgPlain_get_supp_string(Supp *su ) ; |
| 3899 |
extern void *vgPlain_get_supp_extra(Supp *su ) ; |
|
3899 |
extern void *vgPlain_get_supp_extra(Supp *su ) ; |
| 3900 |
extern void vgPlain_set_supp_kind(Supp *su , SuppKind suppkind ) ; |
|
3900 |
extern void vgPlain_set_supp_kind(Supp *su , SuppKind suppkind ) ; |
| 3901 |
extern void vgPlain_set_supp_string(Supp *su , Char *string ) ; |
|
3901 |
extern void vgPlain_set_supp_string(Supp *su , Char *string ) ; |
| 3902 |
extern void vgPlain_set_supp_extra(Supp *su , void *extra ) ; |
|
3902 |
extern void vgPlain_set_supp_extra(Supp *su , void *extra ) ; |
| 3903 |
extern void vgPlain_load_suppressions(void) ; |
|
3903 |
extern void vgPlain_load_suppressions(void) ; |
| 3904 |
extern void vgPlain_show_all_errors(Int verbosity , Bool xml ) ; |
|
3904 |
extern void vgPlain_show_all_errors(Int verbosity , Bool xml ) ; |
| 3905 |
extern void vgPlain_show_last_error(void) ; |
|
3905 |
extern void vgPlain_show_last_error(void) ; |
| 3906 |
extern void vgPlain_show_error_counts_as_XML(void) ; |
|
3906 |
extern void vgPlain_show_error_counts_as_XML(void) ; |
| 3907 |
extern Bool vgPlain_is_action_requested(Char *action , Bool *clo ) ; |
|
3907 |
extern Bool vgPlain_is_action_requested(Char *action , Bool *clo ) ; |
| 3908 |
extern Bool vgPlain_showing_core_errors(void) ; |
|
3908 |
extern Bool vgPlain_showing_core_errors(void) ; |
| 3909 |
extern UInt vgPlain_get_n_errs_found(void) ; |
|
3909 |
extern UInt vgPlain_get_n_errs_found(void) ; |
| 3910 |
extern void vgPlain_print_errormgr_stats(void) ; |
|
3910 |
extern void vgPlain_print_errormgr_stats(void) ; |
| 3911 |
extern void vgPlain_gdbserver(ThreadId tid ) ; |
|
3911 |
extern void vgPlain_gdbserver(ThreadId tid ) ; |
| 3912 |
extern Int vgPlain_dyn_vgdb_error ; |
|
3912 |
extern Int vgPlain_dyn_vgdb_error ; |
| 3913 |
extern char *vgPlain_ppPointKind(PointKind kind ) ; |
|
3913 |
extern char *vgPlain_ppPointKind(PointKind kind ) ; |
| 3914 |
extern Bool vgPlain_is_watched(PointKind kind , Addr addr , Int szB ) ; |
|
3914 |
extern Bool vgPlain_is_watched(PointKind kind , Addr addr , Int szB ) ; |
| 3915 |
extern void vgPlain_needs_watchpoint(Bool (*watchpoint)(PointKind kind , |
|
3915 |
extern void vgPlain_needs_watchpoint(Bool (*watchpoint)(PointKind kind , |
| 3916 |
Bool insert , |
|
3916 |
Bool insert , |
| 3917 |
Addr addr , SizeT len ) ) ; |
|
3917 |
Addr addr , SizeT len ) ) ; |
| 3918 |
extern UInt ( vgPlain_gdb_printf)(HChar const *format |
|
3918 |
extern UInt ( vgPlain_gdb_printf)(HChar const *format |
| 3919 |
, ...) ; |
|
3919 |
, ...) ; |
| 3920 |
extern Int vgPlain_keyword_id(Char *keywords , Char *input_word , |
|
3920 |
extern Int vgPlain_keyword_id(Char *keywords , Char *input_word , |
| 3921 |
kwd_report_error report ) ; |
|
3921 |
kwd_report_error report ) ; |
| 3922 |
extern void vgPlain_strtok_get_address_and_size(Addr *address , SizeT *szB , |
|
3922 |
extern void vgPlain_strtok_get_address_and_size(Addr *address , SizeT *szB , |
| 3923 |
Char **ssaveptr ) ; |
|
3923 |
Char **ssaveptr ) ; |
| 3924 |
extern void vgPlain_gdbserver_prerun_action(ThreadId tid ) ; |
|
3924 |
extern void vgPlain_gdbserver_prerun_action(ThreadId tid ) ; |
| 3925 |
extern Bool vgPlain_gdbserver_activity(ThreadId tid ) ; |
|
3925 |
extern Bool vgPlain_gdbserver_activity(ThreadId tid ) ; |
| 3926 |
extern Bool vgPlain_gdbserver_point(PointKind kind , Bool insert , Addr addr , |
|
3926 |
extern Bool vgPlain_gdbserver_point(PointKind kind , Bool insert , Addr addr , |
| 3927 |
int len ) ; |
|
3927 |
int len ) ; |
| 3928 |
extern void vgPlain_invoke_gdbserver(int check ) ; |
|
3928 |
extern void vgPlain_invoke_gdbserver(int check ) ; |
| 3929 |
extern Bool vgPlain_gdbserver_report_signal(Int signo , ThreadId tid ) ; |
|
3929 |
extern Bool vgPlain_gdbserver_report_signal(Int signo , ThreadId tid ) ; |
| 3930 |
extern IRSB *vgPlain_instrument_for_gdbserver_if_needed(IRSB *sb_in , |
|
3930 |
extern IRSB *vgPlain_instrument_for_gdbserver_if_needed(IRSB *sb_in , |
| 3931 |
VexGuestLayout *layout , |
|
3931 |
VexGuestLayout *layout , |
| 3932 |
VexGuestExtents *vge , |
|
3932 |
VexGuestExtents *vge , |
| 3933 |
IRType gWordTy , |
|
3933 |
IRType gWordTy , |
| 3934 |
IRType hWordTy ) ; |
|
3934 |
IRType hWordTy ) ; |
| 3935 |
extern void vgPlain_gdbserver_status_output(void) ; |
|
3935 |
extern void vgPlain_gdbserver_status_output(void) ; |
| 3936 |
extern Bool vgPlain_isspace(Char c ) ; |
|
3936 |
extern Bool vgPlain_isspace(Char c ) ; |
| 3937 |
extern Bool vgPlain_isdigit(Char c ) ; |
|
3937 |
extern Bool vgPlain_isdigit(Char c ) ; |
| 3938 |
extern Char vgPlain_tolower(Char c ) ; |
|
3938 |
extern Char vgPlain_tolower(Char c ) ; |
| 3939 |
extern Long vgPlain_strtoll10(Char *str , Char **endptr ) ; |
|
3939 |
extern Long vgPlain_strtoll10(Char *str , Char **endptr ) ; |
| 3940 |
extern Long vgPlain_strtoll16(Char *str , Char **endptr ) ; |
|
3940 |
extern Long vgPlain_strtoll16(Char *str , Char **endptr ) ; |
| 3941 |
extern ULong vgPlain_strtoull10(Char *str , Char **endptr ) ; |
|
3941 |
extern ULong vgPlain_strtoull10(Char *str , Char **endptr ) ; |
| 3942 |
extern ULong vgPlain_strtoull16(Char *str , Char **endptr ) ; |
|
3942 |
extern ULong vgPlain_strtoull16(Char *str , Char **endptr ) ; |
| 3943 |
extern double vgPlain_strtod(Char *str , Char **endptr ) ; |
|
3943 |
extern double vgPlain_strtod(Char *str , Char **endptr ) ; |
| 3944 |
extern SizeT vgPlain_strlen(Char const *str ) ; |
|
3944 |
extern SizeT vgPlain_strlen(Char const *str ) ; |
| 3945 |
extern Char *vgPlain_strcat(Char *dest , Char const *src ) ; |
|
3945 |
extern Char *vgPlain_strcat(Char *dest , Char const *src ) ; |
| 3946 |
extern Char *vgPlain_strncat(Char *dest , Char const *src , SizeT n ) ; |
|
3946 |
extern Char *vgPlain_strncat(Char *dest , Char const *src , SizeT n ) ; |
| 3947 |
extern Char *vgPlain_strpbrk(Char const *s , Char const *accpt ) ; |
|
3947 |
extern Char *vgPlain_strpbrk(Char const *s , Char const *accpt ) ; |
| 3948 |
extern Char *vgPlain_strcpy(Char *dest , Char const *src ) ; |
|
3948 |
extern Char *vgPlain_strcpy(Char *dest , Char const *src ) ; |
| 3949 |
extern Char *vgPlain_strncpy(Char *dest , Char const *src , SizeT ndest ) ; |
|
3949 |
extern Char *vgPlain_strncpy(Char *dest , Char const *src , SizeT ndest ) ; |
| 3950 |
extern Int vgPlain_strcmp(Char const *s1 , Char const *s2 ) ; |
|
3950 |
extern Int vgPlain_strcmp(Char const *s1 , Char const *s2 ) ; |
| 3951 |
extern Int vgPlain_strcasecmp(Char const *s1 , Char const *s2 ) ; |
|
3951 |
extern Int vgPlain_strcasecmp(Char const *s1 , Char const *s2 ) ; |
| 3952 |
extern Int vgPlain_strncmp(Char const *s1 , Char const *s2 , SizeT nmax ) ; |
|
3952 |
extern Int vgPlain_strncmp(Char const *s1 , Char const *s2 , SizeT nmax ) ; |
| 3953 |
extern Int vgPlain_strncasecmp(Char const *s1 , Char const *s2 , SizeT nmax ) ; |
|
3953 |
extern Int vgPlain_strncasecmp(Char const *s1 , Char const *s2 , SizeT nmax ) ; |
| 3954 |
extern Char *vgPlain_strstr(Char const *haystack , Char *needle ) ; |
|
3954 |
extern Char *vgPlain_strstr(Char const *haystack , Char *needle ) ; |
| 3955 |
extern Char *vgPlain_strcasestr(Char const *haystack , Char *needle ) ; |
|
3955 |
extern Char *vgPlain_strcasestr(Char const *haystack , Char *needle ) ; |
| 3956 |
extern Char *vgPlain_strchr(Char const *s , Char c ) ; |
|
3956 |
extern Char *vgPlain_strchr(Char const *s , Char c ) ; |
| 3957 |
extern Char *vgPlain_strrchr(Char const *s , Char c ) ; |
|
3957 |
extern Char *vgPlain_strrchr(Char const *s , Char c ) ; |
| 3958 |
extern SizeT vgPlain_strspn(Char const *s , Char const *accpt ) ; |
|
3958 |
extern SizeT vgPlain_strspn(Char const *s , Char const *accpt ) ; |
| 3959 |
extern SizeT vgPlain_strcspn(Char const *s , char const *reject ) ; |
|
3959 |
extern SizeT vgPlain_strcspn(Char const *s , char const *reject ) ; |
| 3960 |
extern Char *vgPlain_strtok_r(Char *s , Char const *delim , Char **saveptr ) ; |
|
3960 |
extern Char *vgPlain_strtok_r(Char *s , Char const *delim , Char **saveptr ) ; |
| 3961 |
extern Char *vgPlain_strtok(Char *s , Char const *delim ) ; |
|
3961 |
extern Char *vgPlain_strtok(Char *s , Char const *delim ) ; |
| 3962 |
extern Bool vgPlain_parse_Addr(UChar **ppc , Addr *result ) ; |
|
3962 |
extern Bool vgPlain_parse_Addr(UChar **ppc , Addr *result ) ; |
| 3963 |
extern void vgPlain_strncpy_safely(Char *dest , Char const *src , SizeT ndest ) ; |
|
3963 |
extern void vgPlain_strncpy_safely(Char *dest , Char const *src , SizeT ndest ) ; |
| 3964 |
extern void *vgPlain_memcpy(void *d , void const *s , SizeT sz ) ; |
|
3964 |
extern void *vgPlain_memcpy(void *d , void const *s , SizeT sz ) ; |
| 3965 |
extern void *vgPlain_memmove(void *d , void const *s , SizeT sz ) ; |
|
3965 |
extern void *vgPlain_memmove(void *d , void const *s , SizeT sz ) ; |
| 3966 |
extern void *vgPlain_memset(void *s , Int c , SizeT sz ) ; |
|
3966 |
extern void *vgPlain_memset(void *s , Int c , SizeT sz ) ; |
| 3967 |
extern Int vgPlain_memcmp(void const *s1 , void const *s2 , SizeT n ) ; |
|
3967 |
extern Int vgPlain_memcmp(void const *s1 , void const *s2 , SizeT n ) ; |
| 3968 |
__inline static void ( __attribute__((__always_inline__)) vgPlain_bzero_inline)(void *s , |
|
3968 |
__inline static void ( __attribute__((__always_inline__)) vgPlain_bzero_inline)(void *s , |
| 3969 |
SizeT sz ) |
|
3969 |
SizeT sz ) |
| 3970 |
{ |
|
3970 |
{ |
| 3971 |
UWord *p ; |
|
3971 |
UWord *p ; |
| 3972 |
UWord tmp ; |
|
3972 |
UWord tmp ; |
| 3973 |
UWord tmp___0 ; |
|
3973 |
UWord tmp___0 ; |
| 3974 |
UWord tmp___1 ; |
|
3974 |
UWord tmp___1 ; |
| 3975 |
UWord tmp___2 ; |
|
3975 |
UWord tmp___2 ; |
| 3976 |
UWord tmp___3 ; |
|
3976 |
UWord tmp___3 ; |
| 3977 |
UWord tmp___4 ; |
|
3977 |
UWord tmp___4 ; |
| 3978 |
UWord tmp___5 ; |
|
3978 |
UWord tmp___5 ; |
| 3979 |
UWord tmp___6 ; |
|
3979 |
UWord tmp___6 ; |
| 3980 |
UWord tmp___7 ; |
|
3980 |
UWord tmp___7 ; |
| 3981 |
UWord tmp___8 ; |
|
3981 |
UWord tmp___8 ; |
| 3982 |
UWord tmp___9 ; |
|
3982 |
UWord tmp___9 ; |
| 3983 |
UWord tmp___10 ; |
|
3983 |
UWord tmp___10 ; |
| 3984 |
UWord tmp___11 ; |
|
3984 |
UWord tmp___11 ; |
| 3985 |
UWord tmp___12 ; |
|
3985 |
UWord tmp___12 ; |
| 3986 |
UWord tmp___13 ; |
|
3986 |
UWord tmp___13 ; |
| 3987 |
UWord tmp___14 ; |
|
3987 |
UWord tmp___14 ; |
| 3988 |
UWord tmp___15 ; |
|
3988 |
UWord tmp___15 ; |
| 3989 |
UWord tmp___16 ; |
|
3989 |
UWord tmp___16 ; |
| 3990 |
UWord tmp___17 ; |
|
3990 |
UWord tmp___17 ; |
| 3991 |
UWord tmp___18 ; |
|
3991 |
UWord tmp___18 ; |
| 3992 |
UWord tmp___19 ; |
|
3992 |
UWord tmp___19 ; |
| 3993 |
UWord tmp___20 ; |
|
3993 |
UWord tmp___20 ; |
| 3994 |
UWord tmp___21 ; |
|
3994 |
UWord tmp___21 ; |
| 3995 |
UWord tmp___22 ; |
|
3995 |
UWord tmp___22 ; |
| 3996 |
UWord tmp___23 ; |
|
3996 |
UWord tmp___23 ; |
| 3997 |
UWord tmp___24 ; |
|
3997 |
UWord tmp___24 ; |
| 3998 |
UWord tmp___25 ; |
|
3998 |
UWord tmp___25 ; |
| 3999 |
UWord tmp___26 ; |
|
3999 |
UWord tmp___26 ; |
| 4000 |
long tmp___27 ; |
|
4000 |
long tmp___27 ; |
| 4001 |
long tmp___28 ; |
|
4001 |
long tmp___28 ; |
| 4002 |
|
|
4002 |
|
| 4003 |
{ |
|
4003 |
{ |
| 4004 |
tmp___27 = __builtin_expect((long )(! (! (0UL == (sz & (Addr )(sizeof(UWord ) - 1U))))), |
|
4004 |
tmp___27 = __builtin_expect((long )(! (! (0UL == (sz & (Addr )(sizeof(UWord ) - 1U))))), |
| 4005 |
1L); |
|
4005 |
1L); |
| 4006 |
if (tmp___27) { |
|
4006 |
if (tmp___27) { |
| 4007 |
tmp___28 = __builtin_expect((long )(! (! (0UL == ((Addr )s & (Addr )(sizeof(UWord ) - 1U))))), |
|
4007 |
tmp___28 = __builtin_expect((long )(! (! (0UL == ((Addr )s & (Addr )(sizeof(UWord ) - 1U))))), |
| 4008 |
1L); |
|
4008 |
1L); |
| 4009 |
if (tmp___28) { |
|
4009 |
if (tmp___28) { |
| 4010 |
p = (UWord *)s; |
|
4010 |
p = (UWord *)s; |
| 4011 |
switch (sz / (SizeT )sizeof(UWord )) { |
|
4011 |
switch (sz / (SizeT )sizeof(UWord )) { |
| 4012 |
case 8UL: |
|
4012 |
case 8UL: |
| 4013 |
tmp___5 = 0UL; |
|
4013 |
tmp___5 = 0UL; |
| 4014 |
*(p + 7) = tmp___5; |
|
4014 |
*(p + 7) = tmp___5; |
| 4015 |
tmp___4 = tmp___5; |
|
4015 |
tmp___4 = tmp___5; |
| 4016 |
*(p + 6) = tmp___4; |
|
4016 |
*(p + 6) = tmp___4; |
| 4017 |
tmp___3 = tmp___4; |
|
4017 |
tmp___3 = tmp___4; |
| 4018 |
*(p + 5) = tmp___3; |
|
4018 |
*(p + 5) = tmp___3; |
| 4019 |
tmp___2 = tmp___3; |
|
4019 |
tmp___2 = tmp___3; |
| 4020 |
*(p + 4) = tmp___2; |
|
4020 |
*(p + 4) = tmp___2; |
| 4021 |
tmp___1 = tmp___2; |
|
4021 |
tmp___1 = tmp___2; |
| 4022 |
*(p + 3) = tmp___1; |
|
4022 |
*(p + 3) = tmp___1; |
| 4023 |
tmp___0 = tmp___1; |
|
4023 |
tmp___0 = tmp___1; |
| 4024 |
*(p + 2) = tmp___0; |
|
4024 |
*(p + 2) = tmp___0; |
| 4025 |
tmp = tmp___0; |
|
4025 |
tmp = tmp___0; |
| 4026 |
*(p + 1) = tmp; |
|
4026 |
*(p + 1) = tmp; |
| 4027 |
*(p + 0) = tmp; |
|
4027 |
*(p + 0) = tmp; |
| 4028 |
return; |
|
4028 |
return; |
| 4029 |
case 7UL: |
|
4029 |
case 7UL: |
| 4030 |
tmp___11 = 0UL; |
|
4030 |
tmp___11 = 0UL; |
| 4031 |
*(p + 6) = tmp___11; |
|
4031 |
*(p + 6) = tmp___11; |
| 4032 |
tmp___10 = tmp___11; |
|
4032 |
tmp___10 = tmp___11; |
| 4033 |
*(p + 5) = tmp___10; |
|
4033 |
*(p + 5) = tmp___10; |
| 4034 |
tmp___9 = tmp___10; |
|
4034 |
tmp___9 = tmp___10; |
| 4035 |
*(p + 4) = tmp___9; |
|
4035 |
*(p + 4) = tmp___9; |
| 4036 |
tmp___8 = tmp___9; |
|
4036 |
tmp___8 = tmp___9; |
| 4037 |
*(p + 3) = tmp___8; |
|
4037 |
*(p + 3) = tmp___8; |
| 4038 |
tmp___7 = tmp___8; |
|
4038 |
tmp___7 = tmp___8; |
| 4039 |
*(p + 2) = tmp___7; |
|
4039 |
*(p + 2) = tmp___7; |
| 4040 |
tmp___6 = tmp___7; |
|
4040 |
tmp___6 = tmp___7; |
| 4041 |
*(p + 1) = tmp___6; |
|
4041 |
*(p + 1) = tmp___6; |
| 4042 |
*(p + 0) = tmp___6; |
|
4042 |
*(p + 0) = tmp___6; |
| 4043 |
return; |
|
4043 |
return; |
| 4044 |
case 6UL: |
|
4044 |
case 6UL: |
| 4045 |
tmp___16 = 0UL; |
|
4045 |
tmp___16 = 0UL; |
| 4046 |
*(p + 5) = tmp___16; |
|
4046 |
*(p + 5) = tmp___16; |
| 4047 |
tmp___15 = tmp___16; |
|
4047 |
tmp___15 = tmp___16; |
| 4048 |
*(p + 4) = tmp___15; |
|
4048 |
*(p + 4) = tmp___15; |
| 4049 |
tmp___14 = tmp___15; |
|
4049 |
tmp___14 = tmp___15; |
| 4050 |
*(p + 3) = tmp___14; |
|
4050 |
*(p + 3) = tmp___14; |
| 4051 |
tmp___13 = tmp___14; |
|
4051 |
tmp___13 = tmp___14; |
| 4052 |
*(p + 2) = tmp___13; |
|
4052 |
*(p + 2) = tmp___13; |
| 4053 |
tmp___12 = tmp___13; |
|
4053 |
tmp___12 = tmp___13; |
| 4054 |
*(p + 1) = tmp___12; |
|
4054 |
*(p + 1) = tmp___12; |
| 4055 |
*(p + 0) = tmp___12; |
|
4055 |
*(p + 0) = tmp___12; |
| 4056 |
return; |
|
4056 |
return; |
| 4057 |
case 5UL: |
|
4057 |
case 5UL: |
| 4058 |
tmp___20 = 0UL; |
|
4058 |
tmp___20 = 0UL; |
| 4059 |
*(p + 4) = tmp___20; |
|
4059 |
*(p + 4) = tmp___20; |
| 4060 |
tmp___19 = tmp___20; |
|
4060 |
tmp___19 = tmp___20; |
| 4061 |
*(p + 3) = tmp___19; |
|
4061 |
*(p + 3) = tmp___19; |
| 4062 |
tmp___18 = tmp___19; |
|
4062 |
tmp___18 = tmp___19; |
| 4063 |
*(p + 2) = tmp___18; |
|
4063 |
*(p + 2) = tmp___18; |
| 4064 |
tmp___17 = tmp___18; |
|
4064 |
tmp___17 = tmp___18; |
| 4065 |
*(p + 1) = tmp___17; |
|
4065 |
*(p + 1) = tmp___17; |
| 4066 |
*(p + 0) = tmp___17; |
|
4066 |
*(p + 0) = tmp___17; |
| 4067 |
return; |
|
4067 |
return; |
| 4068 |
case 4UL: |
|
4068 |
case 4UL: |
| 4069 |
tmp___23 = 0UL; |
|
4069 |
tmp___23 = 0UL; |
| 4070 |
*(p + 3) = tmp___23; |
|
4070 |
*(p + 3) = tmp___23; |
| 4071 |
tmp___22 = tmp___23; |
|
4071 |
tmp___22 = tmp___23; |
| 4072 |
*(p + 2) = tmp___22; |
|
4072 |
*(p + 2) = tmp___22; |
| 4073 |
tmp___21 = tmp___22; |
|
4073 |
tmp___21 = tmp___22; |
| 4074 |
*(p + 1) = tmp___21; |
|
4074 |
*(p + 1) = tmp___21; |
| 4075 |
*(p + 0) = tmp___21; |
|
4075 |
*(p + 0) = tmp___21; |
| 4076 |
return; |
|
4076 |
return; |
| 4077 |
case 3UL: |
|
4077 |
case 3UL: |
| 4078 |
tmp___25 = 0UL; |
|
4078 |
tmp___25 = 0UL; |
| 4079 |
*(p + 2) = tmp___25; |
|
4079 |
*(p + 2) = tmp___25; |
| 4080 |
tmp___24 = tmp___25; |
|
4080 |
tmp___24 = tmp___25; |
| 4081 |
*(p + 1) = tmp___24; |
|
4081 |
*(p + 1) = tmp___24; |
| 4082 |
*(p + 0) = tmp___24; |
|
4082 |
*(p + 0) = tmp___24; |
| 4083 |
return; |
|
4083 |
return; |
| 4084 |
case 2UL: |
|
4084 |
case 2UL: |
| 4085 |
tmp___26 = 0UL; |
|
4085 |
tmp___26 = 0UL; |
| 4086 |
*(p + 1) = tmp___26; |
|
4086 |
*(p + 1) = tmp___26; |
| 4087 |
*(p + 0) = tmp___26; |
|
4087 |
*(p + 0) = tmp___26; |
| 4088 |
return; |
|
4088 |
return; |
| 4089 |
case 1UL: |
|
4089 |
case 1UL: |
| 4090 |
*(p + 0) = 0UL; |
|
4090 |
*(p + 0) = 0UL; |
| 4091 |
return; |
|
4091 |
return; |
| 4092 |
case 0UL: |
|
4092 |
case 0UL: |
| 4093 |
return; |
|
4093 |
return; |
| 4094 |
default: |
|
4094 |
default: |
| 4095 |
break; |
|
4095 |
break; |
| 4096 |
} |
|
4096 |
} |
| 4097 |
} else { |
|
4097 |
} else { |
| 4098 |
|
|
4098 |
|
| 4099 |
} |
|
4099 |
} |
| 4100 |
} else { |
|
4100 |
} else { |
| 4101 |
|
|
4101 |
|
| 4102 |
} |
|
4102 |
} |
| 4103 |
vgPlain_memset(s, 0, sz); |
|
4103 |
vgPlain_memset(s, 0, sz); |
| 4104 |
return; |
|
4104 |
return; |
| 4105 |
} |
|
4105 |
} |
| 4106 |
} |
|
4106 |
} |
| 4107 |
extern void vgPlain_ssort(void *base , SizeT nmemb , SizeT size , |
|
4107 |
extern void vgPlain_ssort(void *base , SizeT nmemb , SizeT size , |
| 4108 |
Int (*compar)(void * , void * ) ) ; |
|
4108 |
Int (*compar)(void * , void * ) ) ; |
| 4109 |
extern Int vgPlain_log2(UInt x ) ; |
|
4109 |
extern Int vgPlain_log2(UInt x ) ; |
| 4110 |
extern Int vgPlain_log2_64(ULong x ) ; |
|
4110 |
extern Int vgPlain_log2_64(ULong x ) ; |
| 4111 |
extern UInt vgPlain_random(UInt *pSeed ) ; |
|
4111 |
extern UInt vgPlain_random(UInt *pSeed ) ; |
| 4112 |
extern __attribute__((__noreturn__)) void vgPlain_exit(Int status ) ; |
|
4112 |
extern __attribute__((__noreturn__)) void vgPlain_exit(Int status ) ; |
| 4113 |
extern __attribute__((__noreturn__)) void vgPlain_tool_panic(Char *str ) ; |
|
4113 |
extern __attribute__((__noreturn__)) void vgPlain_tool_panic(Char *str ) ; |
| 4114 |
extern __attribute__((__noreturn__)) void vgPlain_assert_fail(Bool isCore , |
|
4114 |
extern __attribute__((__noreturn__)) void vgPlain_assert_fail(Bool isCore , |
| 4115 |
Char const *expr , |
|
4115 |
Char const *expr , |
| 4116 |
Char const *file , |
|
4116 |
Char const *file , |
| 4117 |
Int line , |
|
4117 |
Int line , |
| 4118 |
Char const *fn , |
|
4118 |
Char const *fn , |
| 4119 |
HChar const *format |
|
4119 |
HChar const *format |
| 4120 |
, ...) ; |
|
4120 |
, ...) ; |
| 4121 |
extern __attribute__((__noreturn__)) void vgPlain_core_panic(Char *str ) ; |
|
4121 |
extern __attribute__((__noreturn__)) void vgPlain_core_panic(Char *str ) ; |
| 4122 |
extern __attribute__((__noreturn__)) void vgPlain_core_panic_at(Char *str , |
|
4122 |
extern __attribute__((__noreturn__)) void vgPlain_core_panic_at(Char *str , |
| 4123 |
UnwindStartRegs * ) ; |
|
4123 |
UnwindStartRegs * ) ; |
| 4124 |
extern __attribute__((__noreturn__)) void vgPlain_unimplemented(Char *msg ) ; |
|
4124 |
extern __attribute__((__noreturn__)) void vgPlain_unimplemented(Char *msg ) ; |
| 4125 |
extern void vgPlain_show_sched_status(void) ; |
|
4125 |
extern void vgPlain_show_sched_status(void) ; |
| 4126 |
extern UInt ( vgPlain_sprintf)(Char *buf , |
|
4126 |
extern UInt ( vgPlain_sprintf)(Char *buf , |
| 4127 |
HChar const *format |
|
4127 |
HChar const *format |
| 4128 |
, ...) ; |
|
4128 |
, ...) ; |
| 4129 |
extern UInt ( vgPlain_vsprintf)(Char *buf , |
|
4129 |
extern UInt ( vgPlain_vsprintf)(Char *buf , |
| 4130 |
HChar const *format , |
|
4130 |
HChar const *format , |
| 4131 |
va_list vargs ) ; |
|
4131 |
va_list vargs ) ; |
| 4132 |
extern UInt ( vgPlain_snprintf)(Char *buf , Int size , |
|
4132 |
extern UInt ( vgPlain_snprintf)(Char *buf , Int size , |
| 4133 |
HChar const *format |
|
4133 |
HChar const *format |
| 4134 |
, ...) ; |
|
4134 |
, ...) ; |
| 4135 |
extern UInt ( vgPlain_vsnprintf)(Char *buf , Int size , |
|
4135 |
extern UInt ( vgPlain_vsnprintf)(Char *buf , Int size , |
| 4136 |
HChar const *format , |
|
4136 |
HChar const *format , |
| 4137 |
va_list vargs ) ; |
|
4137 |
va_list vargs ) ; |
| 4138 |
extern void vgPlain_percentify(ULong n , ULong m , UInt d , Int n_buf , |
|
4138 |
extern void vgPlain_percentify(ULong n , ULong m , UInt d , Int n_buf , |
| 4139 |
char *buf ) ; |
|
4139 |
char *buf ) ; |
| 4140 |
extern UInt ( vgPlain_printf)(HChar const *format |
|
4140 |
extern UInt ( vgPlain_printf)(HChar const *format |
| 4141 |
, ...) ; |
|
4141 |
, ...) ; |
| 4142 |
extern UInt ( vgPlain_vprintf)(HChar const *format , |
|
4142 |
extern UInt ( vgPlain_vprintf)(HChar const *format , |
| 4143 |
va_list vargs ) ; |
|
4143 |
va_list vargs ) ; |
| 4144 |
extern UInt ( vgPlain_printf_xml)(HChar const *format |
|
4144 |
extern UInt ( vgPlain_printf_xml)(HChar const *format |
| 4145 |
, ...) ; |
|
4145 |
, ...) ; |
| 4146 |
extern UInt ( vgPlain_vprintf_xml)(HChar const *format , |
|
4146 |
extern UInt ( vgPlain_vprintf_xml)(HChar const *format , |
| 4147 |
va_list vargs ) ; |
|
4147 |
va_list vargs ) ; |
| 4148 |
extern UInt vgPlain_printf_xml_no_f_c(HChar const *format , ...) ; |
|
4148 |
extern UInt vgPlain_printf_xml_no_f_c(HChar const *format , ...) ; |
| 4149 |
extern void vgPlain_vcbprintf(void (*char_sink)(HChar , void *opaque ) , |
|
4149 |
extern void vgPlain_vcbprintf(void (*char_sink)(HChar , void *opaque ) , |
| 4150 |
void *opaque , HChar const *format , |
|
4150 |
void *opaque , HChar const *format , |
| 4151 |
va_list vargs ) ; |
|
4151 |
va_list vargs ) ; |
| 4152 |
extern UInt vgPlain_message_no_f_c(VgMsgKind kind , HChar const *format , ...) ; |
|
4152 |
extern UInt vgPlain_message_no_f_c(VgMsgKind kind , HChar const *format , ...) ; |
| 4153 |
extern UInt ( vgPlain_message)(VgMsgKind kind , |
|
4153 |
extern UInt ( vgPlain_message)(VgMsgKind kind , |
| 4154 |
HChar const *format |
|
4154 |
HChar const *format |
| 4155 |
, ...) ; |
|
4155 |
, ...) ; |
| 4156 |
extern UInt ( vgPlain_vmessage)(VgMsgKind kind , |
|
4156 |
extern UInt ( vgPlain_vmessage)(VgMsgKind kind , |
| 4157 |
HChar const *format , |
|
4157 |
HChar const *format , |
| 4158 |
va_list vargs ) ; |
|
4158 |
va_list vargs ) ; |
| 4159 |
extern UInt ( vgPlain_fmsg)(HChar const *format , ...) ; |
|
4159 |
extern UInt ( vgPlain_fmsg)(HChar const *format , ...) ; |
| 4160 |
extern __attribute__((__noreturn__)) void ( vgPlain_fmsg_bad_option)(HChar *opt , |
|
4160 |
extern __attribute__((__noreturn__)) void ( vgPlain_fmsg_bad_option)(HChar *opt , |
| 4161 |
HChar const *format |
|
4161 |
HChar const *format |
| 4162 |
, ...) ; |
|
4162 |
, ...) ; |
| 4163 |
extern UInt ( vgPlain_umsg)(HChar const *format , ...) ; |
|
4163 |
extern UInt ( vgPlain_umsg)(HChar const *format , ...) ; |
| 4164 |
extern UInt ( vgPlain_dmsg)(HChar const *format , ...) ; |
|
4164 |
extern UInt ( vgPlain_dmsg)(HChar const *format , ...) ; |
| 4165 |
extern void vgPlain_message_flush(void) ; |
|
4165 |
extern void vgPlain_message_flush(void) ; |
| 4166 |
extern OutputSink vgPlain_log_output_sink ; |
|
4166 |
extern OutputSink vgPlain_log_output_sink ; |
| 4167 |
extern OutputSink vgPlain_xml_output_sink ; |
|
4167 |
extern OutputSink vgPlain_xml_output_sink ; |
| 4168 |
extern void vgPlain_elapsed_wallclock_time(HChar *buf ) ; |
|
4168 |
extern void vgPlain_elapsed_wallclock_time(HChar *buf ) ; |
| 4169 |
extern __attribute__((__noreturn__)) void vgPlain_err_missing_prog(void) ; |
|
4169 |
extern __attribute__((__noreturn__)) void vgPlain_err_missing_prog(void) ; |
| 4170 |
extern __attribute__((__noreturn__)) void vgPlain_err_config_error(Char *msg ) ; |
|
4170 |
extern __attribute__((__noreturn__)) void vgPlain_err_config_error(Char *msg ) ; |
| 4171 |
extern Char **vgPlain_client_envp ; |
|
4171 |
extern Char **vgPlain_client_envp ; |
| 4172 |
extern Char *vgPlain_getenv(Char *name ) ; |
|
4172 |
extern Char *vgPlain_getenv(Char *name ) ; |
| 4173 |
extern Char const *vgPlain_libdir ; |
|
4173 |
extern Char const *vgPlain_libdir ; |
| 4174 |
extern Char const *vgPlain_LD_PRELOAD_var_name ; |
|
4174 |
extern Char const *vgPlain_LD_PRELOAD_var_name ; |
| 4175 |
extern Int vgPlain_waitpid(Int pid , Int *status , Int options ) ; |
|
4175 |
extern Int vgPlain_waitpid(Int pid , Int *status , Int options ) ; |
| 4176 |
extern Int vgPlain_system(Char *cmd ) ; |
|
4176 |
extern Int vgPlain_system(Char *cmd ) ; |
| 4177 |
extern Int vgPlain_fork(void) ; |
|
4177 |
extern Int vgPlain_fork(void) ; |
| 4178 |
extern void vgPlain_execv(Char *filename , Char **argv ) ; |
|
4178 |
extern void vgPlain_execv(Char *filename , Char **argv ) ; |
| 4179 |
extern Int vgPlain_getrlimit(Int resource , struct vki_rlimit *rlim ) ; |
|
4179 |
extern Int vgPlain_getrlimit(Int resource , struct vki_rlimit *rlim ) ; |
| 4180 |
extern Int vgPlain_setrlimit(Int resource , struct vki_rlimit const *rlim ) ; |
|
4180 |
extern Int vgPlain_setrlimit(Int resource , struct vki_rlimit const *rlim ) ; |
| 4181 |
extern Int vgPlain_prctl(Int option , ULong arg2 , ULong arg3 , ULong arg4 , |
|
4181 |
extern Int vgPlain_prctl(Int option , ULong arg2 , ULong arg3 , ULong arg4 , |
| 4182 |
ULong arg5 ) ; |
|
4182 |
ULong arg5 ) ; |
| 4183 |
extern Int vgPlain_gettid(void) ; |
|
4183 |
extern Int vgPlain_gettid(void) ; |
| 4184 |
extern Int vgPlain_getpid(void) ; |
|
4184 |
extern Int vgPlain_getpid(void) ; |
| 4185 |
extern Int vgPlain_getppid(void) ; |
|
4185 |
extern Int vgPlain_getppid(void) ; |
| 4186 |
extern Int vgPlain_getpgrp(void) ; |
|
4186 |
extern Int vgPlain_getpgrp(void) ; |
| 4187 |
extern Int vgPlain_geteuid(void) ; |
|
4187 |
extern Int vgPlain_geteuid(void) ; |
| 4188 |
extern Int vgPlain_getegid(void) ; |
|
4188 |
extern Int vgPlain_getegid(void) ; |
| 4189 |
extern UInt vgPlain_read_millisecond_timer(void) ; |
|
4189 |
extern UInt vgPlain_read_millisecond_timer(void) ; |
| 4190 |
extern void vgPlain_atfork(void (*pre)(ThreadId ) , |
|
4190 |
extern void vgPlain_atfork(void (*pre)(ThreadId ) , |
| 4191 |
void (*parent)(ThreadId ) , |
|
4191 |
void (*parent)(ThreadId ) , |
| 4192 |
void (*child)(ThreadId ) ) ; |
|
4192 |
void (*child)(ThreadId ) ) ; |
| 4193 |
extern Char **vgPlain_env_setenv(Char ***envp , Char const *varname , |
|
4193 |
extern Char **vgPlain_env_setenv(Char ***envp , Char const *varname , |
| 4194 |
Char const *val ) ; |
|
4194 |
Char const *val ) ; |
| 4195 |
extern void vgPlain_env_unsetenv(Char **env , Char const *varname ) ; |
|
4195 |
extern void vgPlain_env_unsetenv(Char **env , Char const *varname ) ; |
| 4196 |
extern void vgPlain_env_remove_valgrind_env_stuff(Char **env ) ; |
|
4196 |
extern void vgPlain_env_remove_valgrind_env_stuff(Char **env ) ; |
| 4197 |
extern Char **vgPlain_env_clone(Char **env_clone ) ; |
|
4197 |
extern Char **vgPlain_env_clone(Char **env_clone ) ; |
| 4198 |
extern Int vgPlain_getgroups(Int size , UInt *list ) ; |
|
4198 |
extern Int vgPlain_getgroups(Int size , UInt *list ) ; |
| 4199 |
extern Int vgPlain_ptrace(Int request , Int pid , void *addr , void *data ) ; |
|
4199 |
extern Int vgPlain_ptrace(Int request , Int pid , void *addr , void *data ) ; |
| 4200 |
extern void vgPlain_do_atfork_pre(ThreadId tid ) ; |
|
4200 |
extern void vgPlain_do_atfork_pre(ThreadId tid ) ; |
| 4201 |
extern void vgPlain_do_atfork_parent(ThreadId tid ) ; |
|
4201 |
extern void vgPlain_do_atfork_parent(ThreadId tid ) ; |
| 4202 |
extern void vgPlain_do_atfork_child(ThreadId tid ) ; |
|
4202 |
extern void vgPlain_do_atfork_child(ThreadId tid ) ; |
| 4203 |
extern Int vgPlain_sigprocmask(Int how , vki_sigset_t const *set , |
|
4203 |
extern Int vgPlain_sigprocmask(Int how , vki_sigset_t const *set , |
| 4204 |
vki_sigset_t *oldset ) ; |
|
4204 |
vki_sigset_t *oldset ) ; |
| 4205 |
extern Int vgPlain_sigfillset(vki_sigset_t *set ) ; |
|
4205 |
extern Int vgPlain_sigfillset(vki_sigset_t *set ) ; |
| 4206 |
extern Int vgPlain_sigemptyset(vki_sigset_t *set ) ; |
|
4206 |
extern Int vgPlain_sigemptyset(vki_sigset_t *set ) ; |
| 4207 |
extern Bool vgPlain_isfullsigset(vki_sigset_t const *set ) ; |
|
4207 |
extern Bool vgPlain_isfullsigset(vki_sigset_t const *set ) ; |
| 4208 |
extern Bool vgPlain_isemptysigset(vki_sigset_t const *set ) ; |
|
4208 |
extern Bool vgPlain_isemptysigset(vki_sigset_t const *set ) ; |
| 4209 |
extern Bool vgPlain_iseqsigset(vki_sigset_t const *set1 , |
|
4209 |
extern Bool vgPlain_iseqsigset(vki_sigset_t const *set1 , |
| 4210 |
vki_sigset_t const *set2 ) ; |
|
4210 |
vki_sigset_t const *set2 ) ; |
| 4211 |
extern Int vgPlain_sigaddset(vki_sigset_t *set , Int signum ) ; |
|
4211 |
extern Int vgPlain_sigaddset(vki_sigset_t *set , Int signum ) ; |
| 4212 |
extern Int vgPlain_sigdelset(vki_sigset_t *set , Int signum ) ; |
|
4212 |
extern Int vgPlain_sigdelset(vki_sigset_t *set , Int signum ) ; |
| 4213 |
extern Int vgPlain_sigismember(vki_sigset_t const *set , Int signum ) ; |
|
4213 |
extern Int vgPlain_sigismember(vki_sigset_t const *set , Int signum ) ; |
| 4214 |
extern void vgPlain_sigaddset_from_set(vki_sigset_t *dst , vki_sigset_t *src ) ; |
|
4214 |
extern void vgPlain_sigaddset_from_set(vki_sigset_t *dst , vki_sigset_t *src ) ; |
| 4215 |
extern void vgPlain_sigdelset_from_set(vki_sigset_t *dst , vki_sigset_t *src ) ; |
|
4215 |
extern void vgPlain_sigdelset_from_set(vki_sigset_t *dst , vki_sigset_t *src ) ; |
| 4216 |
extern void vgPlain_sigintersectset(vki_sigset_t *dst , vki_sigset_t *src ) ; |
|
4216 |
extern void vgPlain_sigintersectset(vki_sigset_t *dst , vki_sigset_t *src ) ; |
| 4217 |
extern void vgPlain_sigcomplementset(vki_sigset_t *dst , vki_sigset_t *src ) ; |
|
4217 |
extern void vgPlain_sigcomplementset(vki_sigset_t *dst , vki_sigset_t *src ) ; |
| 4218 |
extern Int vgPlain_sigaction(Int signum , vki_sigaction_toK_t const *act , |
|
4218 |
extern Int vgPlain_sigaction(Int signum , vki_sigaction_toK_t const *act , |
| 4219 |
vki_sigaction_fromK_t *oldact ) ; |
|
4219 |
vki_sigaction_fromK_t *oldact ) ; |
| 4220 |
extern void vgPlain_convert_sigaction_fromK_to_toK(vki_sigaction_fromK_t * , |
|
4220 |
extern void vgPlain_convert_sigaction_fromK_to_toK(vki_sigaction_fromK_t * , |
| 4221 |
vki_sigaction_toK_t * ) ; |
|
4221 |
vki_sigaction_toK_t * ) ; |
| 4222 |
extern Int vgPlain_kill(Int pid , Int signo ) ; |
|
4222 |
extern Int vgPlain_kill(Int pid , Int signo ) ; |
| 4223 |
extern Int vgPlain_tkill(Int lwpid , Int signo ) ; |
|
4223 |
extern Int vgPlain_tkill(Int lwpid , Int signo ) ; |
| 4224 |
extern Int vgPlain_sigtimedwait_zero(vki_sigset_t const * , vki_siginfo_t * ) ; |
|
4224 |
extern Int vgPlain_sigtimedwait_zero(vki_sigset_t const * , vki_siginfo_t * ) ; |
| 4225 |
extern Addr vgPlain_get_IP(ThreadId tid ) ; |
|
4225 |
extern Addr vgPlain_get_IP(ThreadId tid ) ; |
| 4226 |
extern Addr vgPlain_get_SP(ThreadId tid ) ; |
|
4226 |
extern Addr vgPlain_get_SP(ThreadId tid ) ; |
| 4227 |
extern void vgPlain_get_shadow_regs_area(ThreadId tid , UChar *dst , |
|
4227 |
extern void vgPlain_get_shadow_regs_area(ThreadId tid , UChar *dst , |
| 4228 |
Int shadowNo , PtrdiffT offset , |
|
4228 |
Int shadowNo , PtrdiffT offset , |
| 4229 |
SizeT size ) ; |
|
4229 |
SizeT size ) ; |
| 4230 |
extern void vgPlain_set_shadow_regs_area(ThreadId tid , Int shadowNo , |
|
4230 |
extern void vgPlain_set_shadow_regs_area(ThreadId tid , Int shadowNo , |
| 4231 |
PtrdiffT offset , SizeT size , |
|
4231 |
PtrdiffT offset , SizeT size , |
| 4232 |
UChar const *src ) ; |
|
4232 |
UChar const *src ) ; |
| 4233 |
extern void vgPlain_set_syscall_return_shadows(ThreadId tid , UWord s1res , |
|
4233 |
extern void vgPlain_set_syscall_return_shadows(ThreadId tid , UWord s1res , |
| 4234 |
UWord s2res , UWord s1err , |
|
4234 |
UWord s2res , UWord s1err , |
| 4235 |
UWord s2err ) ; |
|
4235 |
UWord s2err ) ; |
| 4236 |
extern void vgPlain_apply_to_GP_regs(void (*f)(UWord val ) ) ; |
|
4236 |
extern void vgPlain_apply_to_GP_regs(void (*f)(UWord val ) ) ; |
| 4237 |
extern void vgPlain_thread_stack_reset_iter(ThreadId *tid ) ; |
|
4237 |
extern void vgPlain_thread_stack_reset_iter(ThreadId *tid ) ; |
| 4238 |
extern Bool vgPlain_thread_stack_next(ThreadId *tid , Addr *stack_min , |
|
4238 |
extern Bool vgPlain_thread_stack_next(ThreadId *tid , Addr *stack_min , |
| 4239 |
Addr *stack_max ) ; |
|
4239 |
Addr *stack_max ) ; |
| 4240 |
extern Addr vgPlain_thread_get_stack_max(ThreadId tid ) ; |
|
4240 |
extern Addr vgPlain_thread_get_stack_max(ThreadId tid ) ; |
| 4241 |
extern SizeT vgPlain_thread_get_stack_size(ThreadId tid ) ; |
|
4241 |
extern SizeT vgPlain_thread_get_stack_size(ThreadId tid ) ; |
| 4242 |
extern Addr vgPlain_thread_get_altstack_min(ThreadId tid ) ; |
|
4242 |
extern Addr vgPlain_thread_get_altstack_min(ThreadId tid ) ; |
| 4243 |
extern SizeT vgPlain_thread_get_altstack_size(ThreadId tid ) ; |
|
4243 |
extern SizeT vgPlain_thread_get_altstack_size(ThreadId tid ) ; |
| 4244 |
extern void *vgPlain_fnptr_to_fnentry(void * ) ; |
|
4244 |
extern void *vgPlain_fnptr_to_fnentry(void * ) ; |
| 4245 |
extern Addr vgPlain_get_FP(ThreadId tid ) ; |
|
4245 |
extern Addr vgPlain_get_FP(ThreadId tid ) ; |
| 4246 |
extern void vgPlain_set_IP(ThreadId tid , Addr encip ) ; |
|
4246 |
extern void vgPlain_set_IP(ThreadId tid , Addr encip ) ; |
| 4247 |
extern void vgPlain_set_SP(ThreadId tid , Addr sp ) ; |
|
4247 |
extern void vgPlain_set_SP(ThreadId tid , Addr sp ) ; |
| 4248 |
extern void vgPlain_get_UnwindStartRegs(UnwindStartRegs *regs , ThreadId tid ) ; |
|
4248 |
extern void vgPlain_get_UnwindStartRegs(UnwindStartRegs *regs , ThreadId tid ) ; |
| 4249 |
extern Bool vgPlain_machine_get_hwcaps(void) ; |
|
4249 |
extern Bool vgPlain_machine_get_hwcaps(void) ; |
| 4250 |
extern void vgPlain_machine_get_VexArchInfo(VexArch * , VexArchInfo * ) ; |
|
4250 |
extern void vgPlain_machine_get_VexArchInfo(VexArch * , VexArchInfo * ) ; |
| 4251 |
extern UInt vgPlain_machine_x86_have_mxcsr ; |
|
4251 |
extern UInt vgPlain_machine_x86_have_mxcsr ; |
| 4252 |
extern void *vgPlain_malloc(HChar *cc , SizeT nbytes ) ; |
|
4252 |
extern void *vgPlain_malloc(HChar *cc , SizeT nbytes ) ; |
| 4253 |
extern void vgPlain_free(void *p ) ; |
|
4253 |
extern void vgPlain_free(void *p ) ; |
| 4254 |
extern void *vgPlain_calloc(HChar *cc , SizeT n , SizeT bytes_per_elem ) ; |
|
4254 |
extern void *vgPlain_calloc(HChar *cc , SizeT n , SizeT bytes_per_elem ) ; |
| 4255 |
extern void *vgPlain_realloc(HChar *cc , void *p , SizeT size ) ; |
|
4255 |
extern void *vgPlain_realloc(HChar *cc , void *p , SizeT size ) ; |
| 4256 |
extern Char *vgPlain_strdup(HChar *cc , Char const *s ) ; |
|
4256 |
extern Char *vgPlain_strdup(HChar *cc , Char const *s ) ; |
| 4257 |
extern SizeT vgPlain_malloc_usable_size(void *p ) ; |
|
4257 |
extern SizeT vgPlain_malloc_usable_size(void *p ) ; |
| 4258 |
extern __attribute__((__noreturn__)) void vgPlain_out_of_memory_NORETURN(HChar *who , |
|
4258 |
extern __attribute__((__noreturn__)) void vgPlain_out_of_memory_NORETURN(HChar *who , |
| 4259 |
SizeT szB ) ; |
|
4259 |
SizeT szB ) ; |
| 4260 |
extern void *vgPlain_arena_malloc(ArenaId arena , HChar *cc , SizeT nbytes ) ; |
|
4260 |
extern void *vgPlain_arena_malloc(ArenaId arena , HChar *cc , SizeT nbytes ) ; |
| 4261 |
extern void vgPlain_arena_free(ArenaId arena , void *ptr ) ; |
|
4261 |
extern void vgPlain_arena_free(ArenaId arena , void *ptr ) ; |
| 4262 |
extern void *vgPlain_arena_calloc(ArenaId arena , HChar *cc , SizeT nmemb , |
|
4262 |
extern void *vgPlain_arena_calloc(ArenaId arena , HChar *cc , SizeT nmemb , |
| 4263 |
SizeT bytes_per_memb ) ; |
|
4263 |
SizeT bytes_per_memb ) ; |
| 4264 |
extern void *vgPlain_arena_realloc(ArenaId arena , HChar *cc , void *ptr , |
|
4264 |
extern void *vgPlain_arena_realloc(ArenaId arena , HChar *cc , void *ptr , |
| 4265 |
SizeT size ) ; |
|
4265 |
SizeT size ) ; |
| 4266 |
extern void *vgPlain_arena_memalign(ArenaId aid , HChar *cc , SizeT req_alignB , |
|
4266 |
extern void *vgPlain_arena_memalign(ArenaId aid , HChar *cc , SizeT req_alignB , |
| 4267 |
SizeT req_pszB ) ; |
|
4267 |
SizeT req_pszB ) ; |
| 4268 |
extern Char *vgPlain_arena_strdup(ArenaId aid , HChar *cc , Char const *s ) ; |
|
4268 |
extern Char *vgPlain_arena_strdup(ArenaId aid , HChar *cc , Char const *s ) ; |
| 4269 |
extern SizeT vgPlain_arena_malloc_usable_size(ArenaId aid , void *payload ) ; |
|
4269 |
extern SizeT vgPlain_arena_malloc_usable_size(ArenaId aid , void *payload ) ; |
| 4270 |
extern void vgPlain_mallinfo(ThreadId tid , struct vg_mallinfo *mi ) ; |
|
4270 |
extern void vgPlain_mallinfo(ThreadId tid , struct vg_mallinfo *mi ) ; |
| 4271 |
extern void vgPlain_sanity_check_malloc_all(void) ; |
|
4271 |
extern void vgPlain_sanity_check_malloc_all(void) ; |
| 4272 |
extern void vgPlain_print_all_arena_stats(void) ; |
|
4272 |
extern void vgPlain_print_all_arena_stats(void) ; |
| 4273 |
extern void vgPlain_print_arena_cc_analysis(void) ; |
|
4273 |
extern void vgPlain_print_arena_cc_analysis(void) ; |
| 4274 |
extern Int vgPlain_clo_verbosity ; |
|
4274 |
extern Int vgPlain_clo_verbosity ; |
| 4275 |
extern Bool vgPlain_clo_stats ; |
|
4275 |
extern Bool vgPlain_clo_stats ; |
| 4276 |
extern Int vgPlain_clo_vgdb_error ; |
|
4276 |
extern Int vgPlain_clo_vgdb_error ; |
| 4277 |
extern Bool vgPlain_clo_xml ; |
|
4277 |
extern Bool vgPlain_clo_xml ; |
| 4278 |
extern HChar *vgPlain_clo_xml_user_comment ; |
|
4278 |
extern HChar *vgPlain_clo_xml_user_comment ; |
| 4279 |
extern VexControl vgPlain_clo_vex_control ; |
|
4279 |
extern VexControl vgPlain_clo_vex_control ; |
| 4280 |
extern Int vgPlain_clo_backtrace_size ; |
|
4280 |
extern Int vgPlain_clo_backtrace_size ; |
| 4281 |
extern Bool vgPlain_clo_show_below_main ; |
|
4281 |
extern Bool vgPlain_clo_show_below_main ; |
| 4282 |
extern Char *vgPlain_expand_file_name(Char *option_name , Char *format ) ; |
|
4282 |
extern Char *vgPlain_expand_file_name(Char *option_name , Char *format ) ; |
| 4283 |
extern Bool vgPlain_clo_error_limit ; |
|
4283 |
extern Bool vgPlain_clo_error_limit ; |
| 4284 |
extern Int vgPlain_clo_error_exitcode ; |
|
4284 |
extern Int vgPlain_clo_error_exitcode ; |
| 4285 |
extern VgVgdb vgPlain_clo_vgdb ; |
|
4285 |
extern VgVgdb vgPlain_clo_vgdb ; |
| 4286 |
extern Int vgPlain_clo_vgdb_poll ; |
|
4286 |
extern Int vgPlain_clo_vgdb_poll ; |
| 4287 |
extern Char *vgPlain_clo_vgdb_prefix ; |
|
4287 |
extern Char *vgPlain_clo_vgdb_prefix ; |
| 4288 |
extern Bool vgPlain_clo_vgdb_shadow_registers ; |
|
4288 |
extern Bool vgPlain_clo_vgdb_shadow_registers ; |
| 4289 |
extern Bool vgPlain_clo_db_attach ; |
|
4289 |
extern Bool vgPlain_clo_db_attach ; |
| 4290 |
extern Char *vgPlain_clo_db_command ; |
|
4290 |
extern Char *vgPlain_clo_db_command ; |
| 4291 |
extern Int vgPlain_clo_gen_suppressions ; |
|
4291 |
extern Int vgPlain_clo_gen_suppressions ; |
| 4292 |
extern Int vgPlain_clo_sanity_level ; |
|
4292 |
extern Int vgPlain_clo_sanity_level ; |
| 4293 |
extern Bool vgPlain_clo_demangle ; |
|
4293 |
extern Bool vgPlain_clo_demangle ; |
| 4294 |
extern Bool vgPlain_clo_trace_children ; |
|
4294 |
extern Bool vgPlain_clo_trace_children ; |
| 4295 |
extern HChar *vgPlain_clo_trace_children_skip ; |
|
4295 |
extern HChar *vgPlain_clo_trace_children_skip ; |
| 4296 |
extern HChar *vgPlain_clo_trace_children_skip_by_arg ; |
|
4296 |
extern HChar *vgPlain_clo_trace_children_skip_by_arg ; |
| 4297 |
extern Bool vgPlain_clo_child_silent_after_fork ; |
|
4297 |
extern Bool vgPlain_clo_child_silent_after_fork ; |
| 4298 |
extern Char *vgPlain_clo_log_fname_expanded ; |
|
4298 |
extern Char *vgPlain_clo_log_fname_expanded ; |
| 4299 |
extern Char *vgPlain_clo_xml_fname_expanded ; |
|
4299 |
extern Char *vgPlain_clo_xml_fname_expanded ; |
| 4300 |
extern Bool vgPlain_clo_time_stamp ; |
|
4300 |
extern Bool vgPlain_clo_time_stamp ; |
| 4301 |
extern Int vgPlain_clo_input_fd ; |
|
4301 |
extern Int vgPlain_clo_input_fd ; |
| 4302 |
extern Int vgPlain_clo_n_suppressions ; |
|
4302 |
extern Int vgPlain_clo_n_suppressions ; |
| 4303 |
extern Char *vgPlain_clo_suppressions[100] ; |
|
4303 |
extern Char *vgPlain_clo_suppressions[100] ; |
| 4304 |
extern Int vgPlain_clo_n_fullpath_after ; |
|
4304 |
extern Int vgPlain_clo_n_fullpath_after ; |
| 4305 |
extern Char *vgPlain_clo_fullpath_after[100] ; |
|
4305 |
extern Char *vgPlain_clo_fullpath_after[100] ; |
| 4306 |
extern UChar vgPlain_clo_trace_flags ; |
|
4306 |
extern UChar vgPlain_clo_trace_flags ; |
| 4307 |
extern UChar vgPlain_clo_profile_flags ; |
|
4307 |
extern UChar vgPlain_clo_profile_flags ; |
| 4308 |
extern Int vgPlain_clo_trace_notbelow ; |
|
4308 |
extern Int vgPlain_clo_trace_notbelow ; |
| 4309 |
extern Bool vgPlain_clo_trace_syscalls ; |
|
4309 |
extern Bool vgPlain_clo_trace_syscalls ; |
| 4310 |
extern Bool vgPlain_clo_trace_signals ; |
|
4310 |
extern Bool vgPlain_clo_trace_signals ; |
| 4311 |
extern Bool vgPlain_clo_trace_symtab ; |
|
4311 |
extern Bool vgPlain_clo_trace_symtab ; |
| 4312 |
extern HChar *vgPlain_clo_trace_symtab_patt ; |
|
4312 |
extern HChar *vgPlain_clo_trace_symtab_patt ; |
| 4313 |
extern Bool vgPlain_clo_trace_cfi ; |
|
4313 |
extern Bool vgPlain_clo_trace_cfi ; |
| 4314 |
extern Bool vgPlain_clo_debug_dump_syms ; |
|
4314 |
extern Bool vgPlain_clo_debug_dump_syms ; |
| 4315 |
extern Bool vgPlain_clo_debug_dump_line ; |
|
4315 |
extern Bool vgPlain_clo_debug_dump_line ; |
| 4316 |
extern Bool vgPlain_clo_debug_dump_frames ; |
|
4316 |
extern Bool vgPlain_clo_debug_dump_frames ; |
| 4317 |
extern Bool vgPlain_clo_trace_redir ; |
|
4317 |
extern Bool vgPlain_clo_trace_redir ; |
| 4318 |
extern Bool vgPlain_clo_trace_sched ; |
|
4318 |
extern Bool vgPlain_clo_trace_sched ; |
| 4319 |
extern Bool vgPlain_clo_profile_heap ; |
|
4319 |
extern Bool vgPlain_clo_profile_heap ; |
| 4320 |
extern Int vgPlain_clo_dump_error ; |
|
4320 |
extern Int vgPlain_clo_dump_error ; |
| 4321 |
extern Char *vgPlain_clo_sim_hints ; |
|
4321 |
extern Char *vgPlain_clo_sim_hints ; |
| 4322 |
extern Bool vgPlain_clo_sym_offsets ; |
|
4322 |
extern Bool vgPlain_clo_sym_offsets ; |
| 4323 |
extern Bool vgPlain_clo_read_var_info ; |
|
4323 |
extern Bool vgPlain_clo_read_var_info ; |
| 4324 |
extern Char *vgPlain_clo_prefix_to_strip ; |
|
4324 |
extern Char *vgPlain_clo_prefix_to_strip ; |
| 4325 |
extern Int vgPlain_clo_n_req_tsyms ; |
|
4325 |
extern Int vgPlain_clo_n_req_tsyms ; |
| 4326 |
extern HChar *vgPlain_clo_req_tsyms[100] ; |
|
4326 |
extern HChar *vgPlain_clo_req_tsyms[100] ; |
| 4327 |
extern Bool vgPlain_clo_track_fds ; |
|
4327 |
extern Bool vgPlain_clo_track_fds ; |
| 4328 |
extern Bool vgPlain_clo_run_libc_freeres ; |
|
4328 |
extern Bool vgPlain_clo_run_libc_freeres ; |
| 4329 |
extern Bool vgPlain_clo_show_emwarns ; |
|
4329 |
extern Bool vgPlain_clo_show_emwarns ; |
| 4330 |
extern Word vgPlain_clo_max_stackframe ; |
|
4330 |
extern Word vgPlain_clo_max_stackframe ; |
| 4331 |
extern Word vgPlain_clo_main_stacksize ; |
|
4331 |
extern Word vgPlain_clo_main_stacksize ; |
| 4332 |
extern Bool vgPlain_clo_wait_for_gdb ; |
|
4332 |
extern Bool vgPlain_clo_wait_for_gdb ; |
| 4333 |
extern VgSmc vgPlain_clo_smc_check ; |
|
4333 |
extern VgSmc vgPlain_clo_smc_check ; |
| 4334 |
extern HChar *vgPlain_clo_kernel_variant ; |
|
4334 |
extern HChar *vgPlain_clo_kernel_variant ; |
| 4335 |
extern Bool vgPlain_clo_dsymutil ; |
|
4335 |
extern Bool vgPlain_clo_dsymutil ; |
| 4336 |
extern Bool vgPlain_should_we_trace_this_child(HChar *child_exe_name , |
|
4336 |
extern Bool vgPlain_should_we_trace_this_child(HChar *child_exe_name , |
| 4337 |
HChar **child_argv ) ; |
|
4337 |
HChar **child_argv ) ; |
| 4338 |
extern void *vgPlain_cli_malloc(SizeT align , SizeT nbytes ) ; |
|
4338 |
extern void *vgPlain_cli_malloc(SizeT align , SizeT nbytes ) ; |
| 4339 |
extern void vgPlain_cli_free(void *p ) ; |
|
4339 |
extern void vgPlain_cli_free(void *p ) ; |
| 4340 |
extern Long vgPlain_free_queue_volume ; |
|
4340 |
extern Long vgPlain_free_queue_volume ; |
| 4341 |
extern Long vgPlain_free_queue_length ; |
|
4341 |
extern Long vgPlain_free_queue_length ; |
| 4342 |
extern Bool vgPlain_addr_is_in_block(Addr a , Addr start , SizeT size , |
|
4342 |
extern Bool vgPlain_addr_is_in_block(Addr a , Addr start , SizeT size , |
| 4343 |
SizeT rz_szB ) ; |
|
4343 |
SizeT rz_szB ) ; |
| 4344 |
extern Bool vgPlain_clo_trace_malloc ; |
|
4344 |
extern Bool vgPlain_clo_trace_malloc ; |
| 4345 |
extern UInt vgPlain_clo_alignment ; |
|
4345 |
extern UInt vgPlain_clo_alignment ; |
| 4346 |
extern Bool vgPlain_replacement_malloc_process_cmd_line_option(Char *arg ) ; |
|
4346 |
extern Bool vgPlain_replacement_malloc_process_cmd_line_option(Char *arg ) ; |
| 4347 |
extern void vgPlain_set_fault_catcher(void (*catcher)(Int sig , Addr addr ) ) ; |
|
4347 |
extern void vgPlain_set_fault_catcher(void (*catcher)(Int sig , Addr addr ) ) ; |
| 4348 |
extern Int vgPlain_max_signal ; |
|
4348 |
extern Int vgPlain_max_signal ; |
| 4349 |
extern void vgPlain_sigstartup_actions(void) ; |
|
4349 |
extern void vgPlain_sigstartup_actions(void) ; |
| 4350 |
extern void vgPlain_poll_signals(ThreadId ) ; |
|
4350 |
extern void vgPlain_poll_signals(ThreadId ) ; |
| 4351 |
extern SysRes vgPlain_do_sys_sigaltstack(ThreadId tid , vki_stack_t *ss , |
|
4351 |
extern SysRes vgPlain_do_sys_sigaltstack(ThreadId tid , vki_stack_t *ss , |
| 4352 |
vki_stack_t *oss ) ; |
|
4352 |
vki_stack_t *oss ) ; |
| 4353 |
extern SysRes vgPlain_do_sys_sigaction(Int signo , |
|
4353 |
extern SysRes vgPlain_do_sys_sigaction(Int signo , |
| 4354 |
vki_sigaction_toK_t const *new_act , |
|
4354 |
vki_sigaction_toK_t const *new_act , |
| 4355 |
vki_sigaction_fromK_t *old_act ) ; |
|
4355 |
vki_sigaction_fromK_t *old_act ) ; |
| 4356 |
extern SysRes vgPlain_do_sys_sigprocmask(ThreadId tid , Int how , |
|
4356 |
extern SysRes vgPlain_do_sys_sigprocmask(ThreadId tid , Int how , |
| 4357 |
vki_sigset_t *set , |
|
4357 |
vki_sigset_t *set , |
| 4358 |
vki_sigset_t *oldset ) ; |
|
4358 |
vki_sigset_t *oldset ) ; |
| 4359 |
extern void vgPlain_clear_out_queued_signals(ThreadId tid , |
|
4359 |
extern void vgPlain_clear_out_queued_signals(ThreadId tid , |
| 4360 |
vki_sigset_t *saved_mask ) ; |
|
4360 |
vki_sigset_t *saved_mask ) ; |
| 4361 |
extern void vgPlain_kill_self(Int sigNo ) ; |
|
4361 |
extern void vgPlain_kill_self(Int sigNo ) ; |
| 4362 |
extern void vgPlain_synth_fault(ThreadId tid ) ; |
|
4362 |
extern void vgPlain_synth_fault(ThreadId tid ) ; |
| 4363 |
extern void vgPlain_synth_fault_mapping(ThreadId tid , Addr addr ) ; |
|
4363 |
extern void vgPlain_synth_fault_mapping(ThreadId tid , Addr addr ) ; |
| 4364 |
extern void vgPlain_synth_fault_perms(ThreadId tid , Addr addr ) ; |
|
4364 |
extern void vgPlain_synth_fault_perms(ThreadId tid , Addr addr ) ; |
| 4365 |
extern void vgPlain_synth_sigill(ThreadId tid , Addr addr ) ; |
|
4365 |
extern void vgPlain_synth_sigill(ThreadId tid , Addr addr ) ; |
| 4366 |
extern void vgPlain_synth_sigtrap(ThreadId tid ) ; |
|
4366 |
extern void vgPlain_synth_sigtrap(ThreadId tid ) ; |
| 4367 |
extern void vgPlain_synth_sigbus(ThreadId tid ) ; |
|
4367 |
extern void vgPlain_synth_sigbus(ThreadId tid ) ; |
| 4368 |
extern Bool vgPlain_extend_stack(Addr addr , UInt maxsize ) ; |
|
4368 |
extern Bool vgPlain_extend_stack(Addr addr , UInt maxsize ) ; |
| 4369 |
extern void vgPlain_set_default_handler(Int sig ) ; |
|
4369 |
extern void vgPlain_set_default_handler(Int sig ) ; |
| 4370 |
extern UWord vgPlain_register_stack(Addr start , Addr end ) ; |
|
4370 |
extern UWord vgPlain_register_stack(Addr start , Addr end ) ; |
| 4371 |
extern void vgPlain_deregister_stack(UWord id ) ; |
|
4371 |
extern void vgPlain_deregister_stack(UWord id ) ; |
| 4372 |
extern void vgPlain_change_stack(UWord id , Addr start , Addr end ) ; |
|
4372 |
extern void vgPlain_change_stack(UWord id , Addr start , Addr end ) ; |
| 4373 |
extern void vgPlain_stack_limits(Addr SP , Addr *start , Addr *end ) ; |
|
4373 |
extern void vgPlain_stack_limits(Addr SP , Addr *start , Addr *end ) ; |
| 4374 |
extern void ( __attribute__((__regparm__(3))) vgPlain_unknown_SP_update)(Addr old_SP , |
|
4374 |
extern void ( __attribute__((__regparm__(3))) vgPlain_unknown_SP_update)(Addr old_SP , |
| 4375 |
Addr new_SP , |
|
4375 |
Addr new_SP , |
| 4376 |
UInt otag ) ; |
|
4376 |
UInt otag ) ; |
| 4377 |
extern UInt vgPlain_get_StackTrace(ThreadId tid , StackTrace ips , UInt n_ips , |
|
4377 |
extern UInt vgPlain_get_StackTrace(ThreadId tid , StackTrace ips , UInt n_ips , |
| 4378 |
StackTrace sps , StackTrace fps , |
|
4378 |
StackTrace sps , StackTrace fps , |
| 4379 |
Word first_ip_delta ) ; |
|
4379 |
Word first_ip_delta ) ; |
| 4380 |
extern void vgPlain_apply_StackTrace(void (*action)(UInt n , Addr ip , |
|
4380 |
extern void vgPlain_apply_StackTrace(void (*action)(UInt n , Addr ip , |
| 4381 |
void *opaque ) , |
|
4381 |
void *opaque ) , |
| 4382 |
void *opaque , StackTrace ips , UInt n_ips ) ; |
|
4382 |
void *opaque , StackTrace ips , UInt n_ips ) ; |
| 4383 |
extern void vgPlain_pp_StackTrace(StackTrace ips , UInt n_ips ) ; |
|
4383 |
extern void vgPlain_pp_StackTrace(StackTrace ips , UInt n_ips ) ; |
| 4384 |
extern void vgPlain_get_and_pp_StackTrace(ThreadId tid , UInt n_ips ) ; |
|
4384 |
extern void vgPlain_get_and_pp_StackTrace(ThreadId tid , UInt n_ips ) ; |
| 4385 |
extern UInt vgPlain_get_StackTrace_wrk(ThreadId tid_if_known , Addr *ips , |
|
4385 |
extern UInt vgPlain_get_StackTrace_wrk(ThreadId tid_if_known , Addr *ips , |
| 4386 |
UInt n_ips , Addr *sps , Addr *fps , |
|
4386 |
UInt n_ips , Addr *sps , Addr *fps , |
| 4387 |
UnwindStartRegs *startRegs , |
|
4387 |
UnwindStartRegs *startRegs , |
| 4388 |
Addr fp_max_orig ) ; |
|
4388 |
Addr fp_max_orig ) ; |
| 4389 |
extern SysRes vgPlain_do_syscall(UWord sysno , UWord , UWord , UWord , |
|
4389 |
extern SysRes vgPlain_do_syscall(UWord sysno , UWord , UWord , UWord , |
| 4390 |
UWord , UWord , UWord , UWord , UWord ) ; |
|
4390 |
UWord , UWord , UWord , UWord , UWord ) ; |
| 4391 |
extern SysRes vgPlain_mk_SysRes_x86_linux(Int val ) ; |
|
4391 |
extern SysRes vgPlain_mk_SysRes_x86_linux(Int val ) ; |
| 4392 |
extern SysRes vgPlain_mk_SysRes_amd64_linux(Long val ) ; |
|
4392 |
extern SysRes vgPlain_mk_SysRes_amd64_linux(Long val ) ; |
| 4393 |
extern SysRes vgPlain_mk_SysRes_ppc32_linux(UInt val , UInt cr0so ) ; |
|
4393 |
extern SysRes vgPlain_mk_SysRes_ppc32_linux(UInt val , UInt cr0so ) ; |
| 4394 |
extern SysRes vgPlain_mk_SysRes_ppc64_linux(ULong val , ULong cr0so ) ; |
|
4394 |
extern SysRes vgPlain_mk_SysRes_ppc64_linux(ULong val , ULong cr0so ) ; |
| 4395 |
extern SysRes vgPlain_mk_SysRes_arm_linux(Int val ) ; |
|
4395 |
extern SysRes vgPlain_mk_SysRes_arm_linux(Int val ) ; |
| 4396 |
extern SysRes vgPlain_mk_SysRes_ppc32_aix5(UInt val , UInt err ) ; |
|
4396 |
extern SysRes vgPlain_mk_SysRes_ppc32_aix5(UInt val , UInt err ) ; |
| 4397 |
extern SysRes vgPlain_mk_SysRes_ppc64_aix5(ULong val , ULong err ) ; |
|
4397 |
extern SysRes vgPlain_mk_SysRes_ppc64_aix5(ULong val , ULong err ) ; |
| 4398 |
extern SysRes vgPlain_mk_SysRes_x86_darwin(UChar scclass , Bool isErr , |
|
4398 |
extern SysRes vgPlain_mk_SysRes_x86_darwin(UChar scclass , Bool isErr , |
| 4399 |
UInt wHI , UInt wLO ) ; |
|
4399 |
UInt wHI , UInt wLO ) ; |
| 4400 |
extern SysRes vgPlain_mk_SysRes_amd64_darwin(UChar scclass , Bool isErr , |
|
4400 |
extern SysRes vgPlain_mk_SysRes_amd64_darwin(UChar scclass , Bool isErr , |
| 4401 |
ULong wHI , ULong wLO ) ; |
|
4401 |
ULong wHI , ULong wLO ) ; |
| 4402 |
extern SysRes vgPlain_mk_SysRes_s390x_linux(Long val ) ; |
|
4402 |
extern SysRes vgPlain_mk_SysRes_s390x_linux(Long val ) ; |
| 4403 |
extern SysRes vgPlain_mk_SysRes_Error(UWord val ) ; |
|
4403 |
extern SysRes vgPlain_mk_SysRes_Error(UWord val ) ; |
| 4404 |
extern SysRes vgPlain_mk_SysRes_Success(UWord val ) ; |
|
4404 |
extern SysRes vgPlain_mk_SysRes_Success(UWord val ) ; |
| 4405 |
extern HChar const *vgPlain_strerror(UWord errnum ) ; |
|
4405 |
extern HChar const *vgPlain_strerror(UWord errnum ) ; |
| 4406 |
extern void vgPlain_main_thread_wrapper_NORETURN(ThreadId tid ) ; |
|
4406 |
extern void vgPlain_main_thread_wrapper_NORETURN(ThreadId tid ) ; |
| 4407 |
extern void vgPlain_client_syscall(ThreadId tid , UInt trc ) ; |
|
4407 |
extern void vgPlain_client_syscall(ThreadId tid , UInt trc ) ; |
| 4408 |
extern void vgPlain_post_syscall(ThreadId tid ) ; |
|
4408 |
extern void vgPlain_post_syscall(ThreadId tid ) ; |
| 4409 |
extern void vgPlain_clear_syscallInfo(Int tid ) ; |
|
4409 |
extern void vgPlain_clear_syscallInfo(Int tid ) ; |
| 4410 |
extern void vgPlain_fixup_guest_state_after_syscall_interrupted(ThreadId tid , |
|
4410 |
extern void vgPlain_fixup_guest_state_after_syscall_interrupted(ThreadId tid , |
| 4411 |
Addr ip , |
|
4411 |
Addr ip , |
| 4412 |
SysRes sysret , |
|
4412 |
SysRes sysret , |
| 4413 |
Bool restart ) ; |
|
4413 |
Bool restart ) ; |
| 4414 |
extern void vgPlain_reap_threads(ThreadId self ) ; |
|
4414 |
extern void vgPlain_reap_threads(ThreadId self ) ; |
| 4415 |
extern void vgPlain_cleanup_thread(ThreadArchState * ) ; |
|
4415 |
extern void vgPlain_cleanup_thread(ThreadArchState * ) ; |
| 4416 |
extern void vgPlain_init_preopened_fds(void) ; |
|
4416 |
extern void vgPlain_init_preopened_fds(void) ; |
| 4417 |
extern void vgPlain_show_open_fds(void) ; |
|
4417 |
extern void vgPlain_show_open_fds(void) ; |
| 4418 |
extern void (*vgPlain_address_of_m_main_shutdown_actions_NORETURN)(ThreadId , |
|
4418 |
extern void (*vgPlain_address_of_m_main_shutdown_actions_NORETURN)(ThreadId , |
| 4419 |
VgSchedReturnCode ) ; |
|
4419 |
VgSchedReturnCode ) ; |
| 4420 |
extern void (*vgPlain_tl_pre_clo_init)(void) ; |
|
4420 |
extern void (*vgPlain_tl_pre_clo_init)(void) ; |
| 4421 |
extern void vgPlain_basic_tool_funcs(void (*post_clo_init)(void) , |
|
4421 |
extern void vgPlain_basic_tool_funcs(void (*post_clo_init)(void) , |
| 4422 |
IRSB *(*instrument)(VgCallbackClosure *closure , |
|
4422 |
IRSB *(*instrument)(VgCallbackClosure *closure , |
| 4423 |
IRSB *sb_in , |
|
4423 |
IRSB *sb_in , |
| 4424 |
VexGuestLayout *layout , |
|
4424 |
VexGuestLayout *layout , |
| 4425 |
VexGuestExtents *vge , |
|
4425 |
VexGuestExtents *vge , |
| 4426 |
IRType gWordTy , |
|
4426 |
IRType gWordTy , |
| 4427 |
IRType hWordTy ) , |
|
4427 |
IRType hWordTy ) , |
| 4428 |
void (*fini)(Int ) ) ; |
|
4428 |
void (*fini)(Int ) ) ; |
| 4429 |
extern void vgPlain_details_name(Char *name ) ; |
|
4429 |
extern void vgPlain_details_name(Char *name ) ; |
| 4430 |
extern void vgPlain_details_version(Char *version ) ; |
|
4430 |
extern void vgPlain_details_version(Char *version ) ; |
| 4431 |
extern void vgPlain_details_description(Char *description ) ; |
|
4431 |
extern void vgPlain_details_description(Char *description ) ; |
| 4432 |
extern void vgPlain_details_copyright_author(Char *copyright_author ) ; |
|
4432 |
extern void vgPlain_details_copyright_author(Char *copyright_author ) ; |
| 4433 |
extern void vgPlain_details_avg_translation_sizeB(UInt size ) ; |
|
4433 |
extern void vgPlain_details_avg_translation_sizeB(UInt size ) ; |
| 4434 |
extern void vgPlain_details_bug_reports_to(Char *bug_reports_to ) ; |
|
4434 |
extern void vgPlain_details_bug_reports_to(Char *bug_reports_to ) ; |
| 4435 |
extern void vgPlain_needs_libc_freeres(void) ; |
|
4435 |
extern void vgPlain_needs_libc_freeres(void) ; |
| 4436 |
extern void vgPlain_needs_core_errors(void) ; |
|
4436 |
extern void vgPlain_needs_core_errors(void) ; |
| 4437 |
extern void vgPlain_needs_tool_errors(Bool (*eq_Error)(VgRes res , Error *e1 , |
|
4437 |
extern void vgPlain_needs_tool_errors(Bool (*eq_Error)(VgRes res , Error *e1 , |
| 4438 |
Error *e2 ) , |
|
4438 |
Error *e2 ) , |
| 4439 |
void (*before_pp_Error)(Error *err ) , |
|
4439 |
void (*before_pp_Error)(Error *err ) , |
| 4440 |
void (*pp_Error)(Error *err ) , |
|
4440 |
void (*pp_Error)(Error *err ) , |
| 4441 |
Bool show_ThreadIDs_for_errors , |
|
4441 |
Bool show_ThreadIDs_for_errors , |
| 4442 |
UInt (*update_extra)(Error *err ) , |
|
4442 |
UInt (*update_extra)(Error *err ) , |
| 4443 |
Bool (*recognised_suppression)(Char *name , |
|
4443 |
Bool (*recognised_suppression)(Char *name , |
| 4444 |
Supp *su ) , |
|
4444 |
Supp *su ) , |
| 4445 |
Bool (*read_extra_suppression_info)(Int fd , |
|
4445 |
Bool (*read_extra_suppression_info)(Int fd , |
| 4446 |
Char **bufpp , |
|
4446 |
Char **bufpp , |
| 4447 |
SizeT *nBufp , |
|
4447 |
SizeT *nBufp , |
| 4448 |
Supp *su ) , |
|
4448 |
Supp *su ) , |
| 4449 |
Bool (*error_matches_suppression)(Error *err , |
|
4449 |
Bool (*error_matches_suppression)(Error *err , |
| 4450 |
Supp *su ) , |
|
4450 |
Supp *su ) , |
| 4451 |
Char *(*get_error_name)(Error *err ) , |
|
4451 |
Char *(*get_error_name)(Error *err ) , |
| 4452 |
Bool (*print_extra_suppression_info)(Error *err , |
|
4452 |
Bool (*print_extra_suppression_info)(Error *err , |
| 4453 |
Char *buf , |
|
4453 |
Char *buf , |
| 4454 |
Int nBuf ) ) ; |
|
4454 |
Int nBuf ) ) ; |
| 4455 |
extern void vgPlain_needs_superblock_discards(void (*discard_superblock_info)(Addr64 orig_addr , |
|
4455 |
extern void vgPlain_needs_superblock_discards(void (*discard_superblock_info)(Addr64 orig_addr , |
| 4456 |
VexGuestExtents extents ) ) ; |
|
4456 |
VexGuestExtents extents ) ) ; |
| 4457 |
extern void vgPlain_needs_command_line_options(Bool (*process_cmd_line_option)(Char *argv ) , |
|
4457 |
extern void vgPlain_needs_command_line_options(Bool (*process_cmd_line_option)(Char *argv ) , |
| 4458 |
void (*print_usage)(void) , |
|
4458 |
void (*print_usage)(void) , |
| 4459 |
void (*print_debug_usage)(void) ) ; |
|
4459 |
void (*print_debug_usage)(void) ) ; |
| 4460 |
extern void vgPlain_needs_client_requests(Bool (*handle_client_request)(ThreadId tid , |
|
4460 |
extern void vgPlain_needs_client_requests(Bool (*handle_client_request)(ThreadId tid , |
| 4461 |
UWord *arg_block , |
|
4461 |
UWord *arg_block , |
| 4462 |
UWord *ret ) ) ; |
|
4462 |
UWord *ret ) ) ; |
| 4463 |
extern void vgPlain_needs_syscall_wrapper(void (*pre_syscall)(ThreadId tid , |
|
4463 |
extern void vgPlain_needs_syscall_wrapper(void (*pre_syscall)(ThreadId tid , |
| 4464 |
UInt syscallno , |
|
4464 |
UInt syscallno , |
| 4465 |
UWord *args , |
|
4465 |
UWord *args , |
| 4466 |
UInt nArgs ) , |
|
4466 |
UInt nArgs ) , |
| 4467 |
void (*post_syscall)(ThreadId tid , |
|
4467 |
void (*post_syscall)(ThreadId tid , |
| 4468 |
UInt syscallno , |
|
4468 |
UInt syscallno , |
| 4469 |
UWord *args , |
|
4469 |
UWord *args , |
| 4470 |
UInt nArgs , |
|
4470 |
UInt nArgs , |
| 4471 |
SysRes res ) ) ; |
|
4471 |
SysRes res ) ) ; |
| 4472 |
extern void vgPlain_needs_sanity_checks(Bool (*cheap_sanity_check)(void) , |
|
4472 |
extern void vgPlain_needs_sanity_checks(Bool (*cheap_sanity_check)(void) , |
| 4473 |
Bool (*expensive_sanity_check)(void) ) ; |
|
4473 |
Bool (*expensive_sanity_check)(void) ) ; |
| 4474 |
extern void vgPlain_needs_var_info(void) ; |
|
4474 |
extern void vgPlain_needs_var_info(void) ; |
| 4475 |
extern void vgPlain_needs_malloc_replacement(void *(*pmalloc)(ThreadId tid , |
|
4475 |
extern void vgPlain_needs_malloc_replacement(void *(*pmalloc)(ThreadId tid , |
| 4476 |
SizeT n ) , |
|
4476 |
SizeT n ) , |
| 4477 |
void *(*p__builtin_new)(ThreadId tid , |
|
4477 |
void *(*p__builtin_new)(ThreadId tid , |
| 4478 |
SizeT n ) , |
|
4478 |
SizeT n ) , |
| 4479 |
void *(*p__builtin_vec_new)(ThreadId tid , |
|
4479 |
void *(*p__builtin_vec_new)(ThreadId tid , |
| 4480 |
SizeT n ) , |
|
4480 |
SizeT n ) , |
| 4481 |
void *(*pmemalign)(ThreadId tid , |
|
4481 |
void *(*pmemalign)(ThreadId tid , |
| 4482 |
SizeT align , |
|
4482 |
SizeT align , |
| 4483 |
SizeT n ) , |
|
4483 |
SizeT n ) , |
| 4484 |
void *(*pcalloc)(ThreadId tid , |
|
4484 |
void *(*pcalloc)(ThreadId tid , |
| 4485 |
SizeT nmemb , |
|
4485 |
SizeT nmemb , |
| 4486 |
SizeT size1 ) , |
|
4486 |
SizeT size1 ) , |
| 4487 |
void (*pfree)(ThreadId tid , |
|
4487 |
void (*pfree)(ThreadId tid , |
| 4488 |
void *p ) , |
|
4488 |
void *p ) , |
| 4489 |
void (*p__builtin_delete)(ThreadId tid , |
|
4489 |
void (*p__builtin_delete)(ThreadId tid , |
| 4490 |
void *p ) , |
|
4490 |
void *p ) , |
| 4491 |
void (*p__builtin_vec_delete)(ThreadId tid , |
|
4491 |
void (*p__builtin_vec_delete)(ThreadId tid , |
| 4492 |
void *p ) , |
|
4492 |
void *p ) , |
| 4493 |
void *(*prealloc)(ThreadId tid , |
|
4493 |
void *(*prealloc)(ThreadId tid , |
| 4494 |
void *p , |
|
4494 |
void *p , |
| 4495 |
SizeT new_size ) , |
|
4495 |
SizeT new_size ) , |
| 4496 |
SizeT (*pmalloc_usable_size)(ThreadId tid , |
|
4496 |
SizeT (*pmalloc_usable_size)(ThreadId tid , |
| 4497 |
void *p ) , |
|
4497 |
void *p ) , |
| 4498 |
SizeT client_malloc_redzone_szB ) ; |
|
4498 |
SizeT client_malloc_redzone_szB ) ; |
| 4499 |
extern void vgPlain_needs_xml_output(void) ; |
|
4499 |
extern void vgPlain_needs_xml_output(void) ; |
| 4500 |
extern void vgPlain_needs_final_IR_tidy_pass(IRSB *(*final_tidy)(IRSB * ) ) ; |
|
4500 |
extern void vgPlain_needs_final_IR_tidy_pass(IRSB *(*final_tidy)(IRSB * ) ) ; |
| 4501 |
extern void vgPlain_track_new_mem_startup(void (*f)(Addr a , SizeT len , |
|
4501 |
extern void vgPlain_track_new_mem_startup(void (*f)(Addr a , SizeT len , |
| 4502 |
Bool rr , Bool ww , |
|
4502 |
Bool rr , Bool ww , |
| 4503 |
Bool xx , ULong di_handle ) ) ; |
|
4503 |
Bool xx , ULong di_handle ) ) ; |
| 4504 |
extern void vgPlain_track_new_mem_stack_signal(void (*f)(Addr a , SizeT len , |
|
4504 |
extern void vgPlain_track_new_mem_stack_signal(void (*f)(Addr a , SizeT len , |
| 4505 |
ThreadId tid ) ) ; |
|
4505 |
ThreadId tid ) ) ; |
| 4506 |
extern void vgPlain_track_new_mem_brk(void (*f)(Addr a , SizeT len , |
|
4506 |
extern void vgPlain_track_new_mem_brk(void (*f)(Addr a , SizeT len , |
| 4507 |
ThreadId tid ) ) ; |
|
4507 |
ThreadId tid ) ) ; |
| 4508 |
extern void vgPlain_track_new_mem_mmap(void (*f)(Addr a , SizeT len , Bool rr , |
|
4508 |
extern void vgPlain_track_new_mem_mmap(void (*f)(Addr a , SizeT len , Bool rr , |
| 4509 |
Bool ww , Bool xx , |
|
4509 |
Bool ww , Bool xx , |
| 4510 |
ULong di_handle ) ) ; |
|
4510 |
ULong di_handle ) ) ; |
| 4511 |
extern void vgPlain_track_copy_mem_remap(void (*f)(Addr from , Addr to , |
|
4511 |
extern void vgPlain_track_copy_mem_remap(void (*f)(Addr from , Addr to , |
| 4512 |
SizeT len ) ) ; |
|
4512 |
SizeT len ) ) ; |
| 4513 |
extern void vgPlain_track_change_mem_mprotect(void (*f)(Addr a , SizeT len , |
|
4513 |
extern void vgPlain_track_change_mem_mprotect(void (*f)(Addr a , SizeT len , |
| 4514 |
Bool rr , Bool ww , |
|
4514 |
Bool rr , Bool ww , |
| 4515 |
Bool xx ) ) ; |
|
4515 |
Bool xx ) ) ; |
| 4516 |
extern void vgPlain_track_die_mem_stack_signal(void (*f)(Addr a , SizeT len ) ) ; |
|
4516 |
extern void vgPlain_track_die_mem_stack_signal(void (*f)(Addr a , SizeT len ) ) ; |
| 4517 |
extern void vgPlain_track_die_mem_brk(void (*f)(Addr a , SizeT len ) ) ; |
|
4517 |
extern void vgPlain_track_die_mem_brk(void (*f)(Addr a , SizeT len ) ) ; |
| 4518 |
extern void vgPlain_track_die_mem_munmap(void (*f)(Addr a , SizeT len ) ) ; |
|
4518 |
extern void vgPlain_track_die_mem_munmap(void (*f)(Addr a , SizeT len ) ) ; |
| 4519 |
extern void vgPlain_track_new_mem_stack_4_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4519 |
extern void vgPlain_track_new_mem_stack_4_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4520 |
UInt ecu ) ) ; |
|
4520 |
UInt ecu ) ) ; |
| 4521 |
extern void vgPlain_track_new_mem_stack_8_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4521 |
extern void vgPlain_track_new_mem_stack_8_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4522 |
UInt ecu ) ) ; |
|
4522 |
UInt ecu ) ) ; |
| 4523 |
extern void vgPlain_track_new_mem_stack_12_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4523 |
extern void vgPlain_track_new_mem_stack_12_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4524 |
UInt ecu ) ) ; |
|
4524 |
UInt ecu ) ) ; |
| 4525 |
extern void vgPlain_track_new_mem_stack_16_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4525 |
extern void vgPlain_track_new_mem_stack_16_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4526 |
UInt ecu ) ) ; |
|
4526 |
UInt ecu ) ) ; |
| 4527 |
extern void vgPlain_track_new_mem_stack_32_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4527 |
extern void vgPlain_track_new_mem_stack_32_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4528 |
UInt ecu ) ) ; |
|
4528 |
UInt ecu ) ) ; |
| 4529 |
extern void vgPlain_track_new_mem_stack_112_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4529 |
extern void vgPlain_track_new_mem_stack_112_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4530 |
UInt ecu ) ) ; |
|
4530 |
UInt ecu ) ) ; |
| 4531 |
extern void vgPlain_track_new_mem_stack_128_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4531 |
extern void vgPlain_track_new_mem_stack_128_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4532 |
UInt ecu ) ) ; |
|
4532 |
UInt ecu ) ) ; |
| 4533 |
extern void vgPlain_track_new_mem_stack_144_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4533 |
extern void vgPlain_track_new_mem_stack_144_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4534 |
UInt ecu ) ) ; |
|
4534 |
UInt ecu ) ) ; |
| 4535 |
extern void vgPlain_track_new_mem_stack_160_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
|
4535 |
extern void vgPlain_track_new_mem_stack_160_w_ECU(void ( __attribute__((__regparm__(2))) (*f))(Addr new_ESP , |
| 4536 |
UInt ecu ) ) ; |
|
4536 |
UInt ecu ) ) ; |
| 4537 |
extern void vgPlain_track_new_mem_stack_w_ECU(void (*f)(Addr a , SizeT len , |
|
4537 |
extern void vgPlain_track_new_mem_stack_w_ECU(void (*f)(Addr a , SizeT len , |
| 4538 |
UInt ecu ) ) ; |
|
4538 |
UInt ecu ) ) ; |
| 4539 |
extern void vgPlain_track_new_mem_stack_4(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4539 |
extern void vgPlain_track_new_mem_stack_4(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4540 |
extern void vgPlain_track_new_mem_stack_8(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4540 |
extern void vgPlain_track_new_mem_stack_8(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4541 |
extern void vgPlain_track_new_mem_stack_12(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4541 |
extern void vgPlain_track_new_mem_stack_12(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4542 |
extern void vgPlain_track_new_mem_stack_16(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4542 |
extern void vgPlain_track_new_mem_stack_16(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4543 |
extern void vgPlain_track_new_mem_stack_32(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4543 |
extern void vgPlain_track_new_mem_stack_32(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4544 |
extern void vgPlain_track_new_mem_stack_112(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4544 |
extern void vgPlain_track_new_mem_stack_112(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4545 |
extern void vgPlain_track_new_mem_stack_128(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4545 |
extern void vgPlain_track_new_mem_stack_128(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4546 |
extern void vgPlain_track_new_mem_stack_144(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4546 |
extern void vgPlain_track_new_mem_stack_144(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4547 |
extern void vgPlain_track_new_mem_stack_160(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
|
4547 |
extern void vgPlain_track_new_mem_stack_160(void ( __attribute__((__regparm__(1))) (*f))(Addr new_ESP ) ) ; |
| 4548 |
extern void vgPlain_track_new_mem_stack(void (*f)(Addr a , SizeT len ) ) ; |
|
4548 |
extern void vgPlain_track_new_mem_stack(void (*f)(Addr a , SizeT len ) ) ; |
| 4549 |
extern void vgPlain_track_die_mem_stack_4(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4549 |
extern void vgPlain_track_die_mem_stack_4(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4550 |
extern void vgPlain_track_die_mem_stack_8(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4550 |
extern void vgPlain_track_die_mem_stack_8(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4551 |
extern void vgPlain_track_die_mem_stack_12(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4551 |
extern void vgPlain_track_die_mem_stack_12(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4552 |
extern void vgPlain_track_die_mem_stack_16(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4552 |
extern void vgPlain_track_die_mem_stack_16(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4553 |
extern void vgPlain_track_die_mem_stack_32(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4553 |
extern void vgPlain_track_die_mem_stack_32(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4554 |
extern void vgPlain_track_die_mem_stack_112(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4554 |
extern void vgPlain_track_die_mem_stack_112(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4555 |
extern void vgPlain_track_die_mem_stack_128(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4555 |
extern void vgPlain_track_die_mem_stack_128(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4556 |
extern void vgPlain_track_die_mem_stack_144(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4556 |
extern void vgPlain_track_die_mem_stack_144(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4557 |
extern void vgPlain_track_die_mem_stack_160(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
|
4557 |
extern void vgPlain_track_die_mem_stack_160(void ( __attribute__((__regparm__(1))) (*f))(Addr die_ESP ) ) ; |
| 4558 |
extern void vgPlain_track_die_mem_stack(void (*f)(Addr a , SizeT len ) ) ; |
|
4558 |
extern void vgPlain_track_die_mem_stack(void (*f)(Addr a , SizeT len ) ) ; |
| 4559 |
extern void vgPlain_track_ban_mem_stack(void (*f)(Addr a , SizeT len ) ) ; |
|
4559 |
extern void vgPlain_track_ban_mem_stack(void (*f)(Addr a , SizeT len ) ) ; |
| 4560 |
extern void vgPlain_track_pre_mem_read(void (*f)(CorePart part , ThreadId tid , |
|
4560 |
extern void vgPlain_track_pre_mem_read(void (*f)(CorePart part , ThreadId tid , |
| 4561 |
Char *s , Addr a , SizeT size ) ) ; |
|
4561 |
Char *s , Addr a , SizeT size ) ) ; |
| 4562 |
extern void vgPlain_track_pre_mem_read_asciiz(void (*f)(CorePart part , |
|
4562 |
extern void vgPlain_track_pre_mem_read_asciiz(void (*f)(CorePart part , |
| 4563 |
ThreadId tid , Char *s , |
|
4563 |
ThreadId tid , Char *s , |
| 4564 |
Addr a ) ) ; |
|
4564 |
Addr a ) ) ; |
| 4565 |
extern void vgPlain_track_pre_mem_write(void (*f)(CorePart part , ThreadId tid , |
|
4565 |
extern void vgPlain_track_pre_mem_write(void (*f)(CorePart part , ThreadId tid , |
| 4566 |
Char *s , Addr a , SizeT size ) ) ; |
|
4566 |
Char *s , Addr a , SizeT size ) ) ; |
| 4567 |
extern void vgPlain_track_post_mem_write(void (*f)(CorePart part , |
|
4567 |
extern void vgPlain_track_post_mem_write(void (*f)(CorePart part , |
| 4568 |
ThreadId tid , Addr a , |
|
4568 |
ThreadId tid , Addr a , |
| 4569 |
SizeT size ) ) ; |
|
4569 |
SizeT size ) ) ; |
| 4570 |
extern void vgPlain_track_pre_reg_read(void (*f)(CorePart part , ThreadId tid , |
|
4570 |
extern void vgPlain_track_pre_reg_read(void (*f)(CorePart part , ThreadId tid , |
| 4571 |
Char *s , |
|
4571 |
Char *s , |
| 4572 |
PtrdiffT guest_state_offset , |
|
4572 |
PtrdiffT guest_state_offset , |
| 4573 |
SizeT size ) ) ; |
|
4573 |
SizeT size ) ) ; |
| 4574 |
extern void vgPlain_track_post_reg_write(void (*f)(CorePart part , |
|
4574 |
extern void vgPlain_track_post_reg_write(void (*f)(CorePart part , |
| 4575 |
ThreadId tid , |
|
4575 |
ThreadId tid , |
| 4576 |
PtrdiffT guest_state_offset , |
|
4576 |
PtrdiffT guest_state_offset , |
| 4577 |
SizeT size ) ) ; |
|
4577 |
SizeT size ) ) ; |
| 4578 |
extern void vgPlain_track_post_reg_write_clientcall_return(void (*f)(ThreadId tid , |
|
4578 |
extern void vgPlain_track_post_reg_write_clientcall_return(void (*f)(ThreadId tid , |
| 4579 |
PtrdiffT guest_state_offset , |
|
4579 |
PtrdiffT guest_state_offset , |
| 4580 |
SizeT size , |
|
4580 |
SizeT size , |
| 4581 |
Addr f ) ) ; |
|
4581 |
Addr f ) ) ; |
| 4582 |
extern void vgPlain_track_start_client_code(void (*f)(ThreadId tid , |
|
4582 |
extern void vgPlain_track_start_client_code(void (*f)(ThreadId tid , |
| 4583 |
ULong blocks_dispatched ) ) ; |
|
4583 |
ULong blocks_dispatched ) ) ; |
| 4584 |
extern void vgPlain_track_stop_client_code(void (*f)(ThreadId tid , |
|
4584 |
extern void vgPlain_track_stop_client_code(void (*f)(ThreadId tid , |
| 4585 |
ULong blocks_dispatched ) ) ; |
|
4585 |
ULong blocks_dispatched ) ) ; |
| 4586 |
extern void vgPlain_track_pre_thread_ll_create(void (*f)(ThreadId tid , |
|
4586 |
extern void vgPlain_track_pre_thread_ll_create(void (*f)(ThreadId tid , |
| 4587 |
ThreadId child ) ) ; |
|
4587 |
ThreadId child ) ) ; |
| 4588 |
extern void vgPlain_track_pre_thread_first_insn(void (*f)(ThreadId tid ) ) ; |
|
4588 |
extern void vgPlain_track_pre_thread_first_insn(void (*f)(ThreadId tid ) ) ; |
| 4589 |
extern void vgPlain_track_pre_thread_ll_exit(void (*f)(ThreadId tid ) ) ; |
|
4589 |
extern void vgPlain_track_pre_thread_ll_exit(void (*f)(ThreadId tid ) ) ; |
| 4590 |
extern void vgPlain_track_pre_deliver_signal(void (*f)(ThreadId tid , |
|
4590 |
extern void vgPlain_track_pre_deliver_signal(void (*f)(ThreadId tid , |
| 4591 |
Int sigNo , |
|
4591 |
Int sigNo , |
| 4592 |
Bool alt_stack ) ) ; |
|
4592 |
Bool alt_stack ) ) ; |
| 4593 |
extern void vgPlain_track_post_deliver_signal(void (*f)(ThreadId tid , |
|
4593 |
extern void vgPlain_track_post_deliver_signal(void (*f)(ThreadId tid , |
| 4594 |
Int sigNo ) ) ; |
|
4594 |
Int sigNo ) ) ; |
| 4595 |
extern VgDetails vgPlain_details ; |
|
4595 |
extern VgDetails vgPlain_details ; |
| 4596 |
extern VgNeeds vgPlain_needs ; |
|
4596 |
extern VgNeeds vgPlain_needs ; |
| 4597 |
extern VgToolInterface vgPlain_tdict ; |
|
4597 |
extern VgToolInterface vgPlain_tdict ; |
| 4598 |
extern Bool vgPlain_sanity_check_needs(Char **failmsg ) ; |
|
4598 |
extern Bool vgPlain_sanity_check_needs(Char **failmsg ) ; |
| 4599 |
extern Bool vgPlain_translate(ThreadId tid , Addr64 orig_addr , |
|
4599 |
extern Bool vgPlain_translate(ThreadId tid , Addr64 orig_addr , |
| 4600 |
Bool debugging_translation , |
|
4600 |
Bool debugging_translation , |
| 4601 |
Int debugging_verbosity , ULong bbs_done , |
|
4601 |
Int debugging_verbosity , ULong bbs_done , |
| 4602 |
Bool allow_redirection ) ; |
|
4602 |
Bool allow_redirection ) ; |
| 4603 |
extern void vgPlain_print_translation_stats(void) ; |
|
4603 |
extern void vgPlain_print_translation_stats(void) ; |
| 4604 |
extern FastCacheEntry __attribute__((__aligned__(16))) vgPlain_tt_fast[1 << 15] ; |
|
4604 |
extern FastCacheEntry __attribute__((__aligned__(16))) vgPlain_tt_fast[1 << 15] ; |
| 4605 |
extern UInt *vgPlain_tt_fastN[1 << 15] ; |
|
4605 |
extern UInt *vgPlain_tt_fastN[1 << 15] ; |
| 4606 |
extern void vgPlain_init_tt_tc(void) ; |
|
4606 |
extern void vgPlain_init_tt_tc(void) ; |
| 4607 |
extern void vgPlain_add_to_transtab(VexGuestExtents *vge , Addr64 entry , |
|
4607 |
extern void vgPlain_add_to_transtab(VexGuestExtents *vge , Addr64 entry , |
| 4608 |
AddrH code , UInt code_len , |
|
4608 |
AddrH code , UInt code_len , |
| 4609 |
Bool is_self_checking ) ; |
|
4609 |
Bool is_self_checking ) ; |
| 4610 |
extern Bool vgPlain_search_transtab(AddrH *result , Addr64 guest_addr , |
|
4610 |
extern Bool vgPlain_search_transtab(AddrH *result , Addr64 guest_addr , |
| 4611 |
Bool upd_cache ) ; |
|
4611 |
Bool upd_cache ) ; |
| 4612 |
extern void vgPlain_discard_translations(Addr64 start , ULong range , |
|
4612 |
extern void vgPlain_discard_translations(Addr64 start , ULong range , |
| 4613 |
HChar *who ) ; |
|
4613 |
HChar *who ) ; |
| 4614 |
extern void vgPlain_print_tt_tc_stats(void) ; |
|
4614 |
extern void vgPlain_print_tt_tc_stats(void) ; |
| 4615 |
extern UInt vgPlain_get_bbs_translated(void) ; |
|
4615 |
extern UInt vgPlain_get_bbs_translated(void) ; |
| 4616 |
extern void vgPlain_add_to_unredir_transtab(VexGuestExtents *vge , |
|
4616 |
extern void vgPlain_add_to_unredir_transtab(VexGuestExtents *vge , |
| 4617 |
Addr64 entry , AddrH code , |
|
4617 |
Addr64 entry , AddrH code , |
| 4618 |
UInt code_len ) ; |
|
4618 |
UInt code_len ) ; |
| 4619 |
extern Bool vgPlain_search_unredir_transtab(AddrH *result , Addr64 guest_addr ) ; |
|
4619 |
extern Bool vgPlain_search_unredir_transtab(AddrH *result , Addr64 guest_addr ) ; |
| 4620 |
extern ULong vgPlain_get_BB_profile(BBProfEntry *tops , UInt n_tops ) ; |
|
4620 |
extern ULong vgPlain_get_BB_profile(BBProfEntry *tops , UInt n_tops ) ; |
| 4621 |
extern Bool vgPlain_get_filename(Addr a , Char *filename , Int n_filename ) ; |
|
4621 |
extern Bool vgPlain_get_filename(Addr a , Char *filename , Int n_filename ) ; |
| 4622 |
extern Bool vgPlain_get_fnname(Addr a , Char *fnname , Int n_fnname ) ; |
|
4622 |
extern Bool vgPlain_get_fnname(Addr a , Char *fnname , Int n_fnname ) ; |
| 4623 |
extern Bool vgPlain_get_linenum(Addr a , UInt *linenum ) ; |
|
4623 |
extern Bool vgPlain_get_linenum(Addr a , UInt *linenum ) ; |
| 4624 |
extern Bool vgPlain_get_fnname_w_offset(Addr a , Char *fnname , Int n_fnname ) ; |
|
4624 |
extern Bool vgPlain_get_fnname_w_offset(Addr a , Char *fnname , Int n_fnname ) ; |
| 4625 |
extern Bool vgPlain_get_filename_linenum(Addr a , Char *filename , |
|
4625 |
extern Bool vgPlain_get_filename_linenum(Addr a , Char *filename , |
| 4626 |
Int n_filename , Char *dirname , |
|
4626 |
Int n_filename , Char *dirname , |
| 4627 |
Int n_dirname , |
|
4627 |
Int n_dirname , |
| 4628 |
Bool *dirname_available , |
|
4628 |
Bool *dirname_available , |
| 4629 |
UInt *linenum ) ; |
|
4629 |
UInt *linenum ) ; |
| 4630 |
extern Bool vgPlain_get_fnname_if_entry(Addr a , Char *fnname , Int n_fnname ) ; |
|
4630 |
extern Bool vgPlain_get_fnname_if_entry(Addr a , Char *fnname , Int n_fnname ) ; |
| 4631 |
extern Vg_FnNameKind vgPlain_get_fnname_kind(Char *name ) ; |
|
4631 |
extern Vg_FnNameKind vgPlain_get_fnname_kind(Char *name ) ; |
| 4632 |
extern Vg_FnNameKind vgPlain_get_fnname_kind_from_IP(Addr ip ) ; |
|
4632 |
extern Vg_FnNameKind vgPlain_get_fnname_kind_from_IP(Addr ip ) ; |
| 4633 |
extern Bool vgPlain_get_datasym_and_offset(Addr data_addr , Char *dname , |
|
4633 |
extern Bool vgPlain_get_datasym_and_offset(Addr data_addr , Char *dname , |
| 4634 |
Int n_dname , PtrdiffT *offset ) ; |
|
4634 |
Int n_dname , PtrdiffT *offset ) ; |
| 4635 |
extern Bool vgPlain_get_data_description(void *dname1v , void *dname2v , |
|
4635 |
extern Bool vgPlain_get_data_description(void *dname1v , void *dname2v , |
| 4636 |
Addr data_addr ) ; |
|
4636 |
Addr data_addr ) ; |
| 4637 |
extern Bool vgPlain_get_objname(Addr a , Char *objname , Int n_objname ) ; |
|
4637 |
extern Bool vgPlain_get_objname(Addr a , Char *objname , Int n_objname ) ; |
| 4638 |
extern Char *vgPlain_describe_IP(Addr eip , Char *buf , Int n_buf ) ; |
|
4638 |
extern Char *vgPlain_describe_IP(Addr eip , Char *buf , Int n_buf ) ; |
| 4639 |
extern void *vgPlain_di_get_stack_blocks_at_ip(Addr ip , Bool arrays_only ) ; |
|
4639 |
extern void *vgPlain_di_get_stack_blocks_at_ip(Addr ip , Bool arrays_only ) ; |
| 4640 |
extern void *vgPlain_di_get_global_blocks_from_dihandle(ULong di_handle , |
|
4640 |
extern void *vgPlain_di_get_global_blocks_from_dihandle(ULong di_handle , |
| 4641 |
Bool arrays_only ) ; |
|
4641 |
Bool arrays_only ) ; |
| 4642 |
extern DebugInfo *vgPlain_find_DebugInfo(Addr a ) ; |
|
4642 |
extern DebugInfo *vgPlain_find_DebugInfo(Addr a ) ; |
| 4643 |
extern Addr vgPlain_DebugInfo_get_text_avma(DebugInfo const *di ) ; |
|
4643 |
extern Addr vgPlain_DebugInfo_get_text_avma(DebugInfo const *di ) ; |
| 4644 |
extern SizeT vgPlain_DebugInfo_get_text_size(DebugInfo const *di ) ; |
|
4644 |
extern SizeT vgPlain_DebugInfo_get_text_size(DebugInfo const *di ) ; |
| 4645 |
extern Addr vgPlain_DebugInfo_get_plt_avma(DebugInfo const *di ) ; |
|
4645 |
extern Addr vgPlain_DebugInfo_get_plt_avma(DebugInfo const *di ) ; |
| 4646 |
extern SizeT vgPlain_DebugInfo_get_plt_size(DebugInfo const *di ) ; |
|
4646 |
extern SizeT vgPlain_DebugInfo_get_plt_size(DebugInfo const *di ) ; |
| 4647 |
extern Addr vgPlain_DebugInfo_get_gotplt_avma(DebugInfo const *di ) ; |
|
4647 |
extern Addr vgPlain_DebugInfo_get_gotplt_avma(DebugInfo const *di ) ; |
| 4648 |
extern SizeT vgPlain_DebugInfo_get_gotplt_size(DebugInfo const *di ) ; |
|
4648 |
extern SizeT vgPlain_DebugInfo_get_gotplt_size(DebugInfo const *di ) ; |
| 4649 |
extern UChar const *vgPlain_DebugInfo_get_soname(DebugInfo const *di ) ; |
|
4649 |
extern UChar const *vgPlain_DebugInfo_get_soname(DebugInfo const *di ) ; |
| 4650 |
extern UChar const *vgPlain_DebugInfo_get_filename(DebugInfo const *di ) ; |
|
4650 |
extern UChar const *vgPlain_DebugInfo_get_filename(DebugInfo const *di ) ; |
| 4651 |
extern PtrdiffT vgPlain_DebugInfo_get_text_bias(DebugInfo const *di ) ; |
|
4651 |
extern PtrdiffT vgPlain_DebugInfo_get_text_bias(DebugInfo const *di ) ; |
| 4652 |
extern DebugInfo const *vgPlain_next_DebugInfo(DebugInfo const *di ) ; |
|
4652 |
extern DebugInfo const *vgPlain_next_DebugInfo(DebugInfo const *di ) ; |
| 4653 |
extern Int vgPlain_DebugInfo_syms_howmany(DebugInfo const *di ) ; |
|
4653 |
extern Int vgPlain_DebugInfo_syms_howmany(DebugInfo const *di ) ; |
| 4654 |
extern void vgPlain_DebugInfo_syms_getidx(DebugInfo const *di , Int idx , |
|
4654 |
extern void vgPlain_DebugInfo_syms_getidx(DebugInfo const *di , Int idx , |
| 4655 |
Addr *avma , Addr *tocptr , |
|
4655 |
Addr *avma , Addr *tocptr , |
| 4656 |
UInt *size , HChar **name , |
|
4656 |
UInt *size , HChar **name , |
| 4657 |
Bool *isText , Bool *isIFunc ) ; |
|
4657 |
Bool *isText , Bool *isIFunc ) ; |
| 4658 |
extern HChar const *vgPlain_pp_SectKind(VgSectKind kind ) ; |
|
4658 |
extern HChar const *vgPlain_pp_SectKind(VgSectKind kind ) ; |
| 4659 |
extern VgSectKind vgPlain_DebugInfo_sect_kind(UChar *name , SizeT n_name , |
|
4659 |
extern VgSectKind vgPlain_DebugInfo_sect_kind(UChar *name , SizeT n_name , |
| 4660 |
Addr a ) ; |
|
4660 |
Addr a ) ; |
| 4661 |
extern void vgPlain_di_initialise(void) ; |
|
4661 |
extern void vgPlain_di_initialise(void) ; |
| 4662 |
extern ULong vgPlain_di_notify_mmap(Addr a , Bool allow_SkFileV ) ; |
|
4662 |
extern ULong vgPlain_di_notify_mmap(Addr a , Bool allow_SkFileV ) ; |
| 4663 |
extern void vgPlain_di_notify_munmap(Addr a , SizeT len ) ; |
|
4663 |
extern void vgPlain_di_notify_munmap(Addr a , SizeT len ) ; |
| 4664 |
extern void vgPlain_di_notify_mprotect(Addr a , SizeT len , UInt prot ) ; |
|
4664 |
extern void vgPlain_di_notify_mprotect(Addr a , SizeT len , UInt prot ) ; |
| 4665 |
extern void vgPlain_di_notify_pdb_debuginfo(Int fd , Addr avma , |
|
4665 |
extern void vgPlain_di_notify_pdb_debuginfo(Int fd , Addr avma , |
| 4666 |
SizeT total_size , |
|
4666 |
SizeT total_size , |
| 4667 |
PtrdiffT unknown_purpose__reloc ) ; |
|
4667 |
PtrdiffT unknown_purpose__reloc ) ; |
| 4668 |
extern void vgPlain_di_discard_ALL_debuginfo(void) ; |
|
4668 |
extern void vgPlain_di_discard_ALL_debuginfo(void) ; |
| 4669 |
extern Bool vgPlain_get_fnname_raw(Addr a , Char *buf , Int nbuf ) ; |
|
4669 |
extern Bool vgPlain_get_fnname_raw(Addr a , Char *buf , Int nbuf ) ; |
| 4670 |
extern Bool vgPlain_get_fnname_no_cxx_demangle(Addr a , Char *buf , Int nbuf ) ; |
|
4670 |
extern Bool vgPlain_get_fnname_no_cxx_demangle(Addr a , Char *buf , Int nbuf ) ; |
| 4671 |
extern Bool vgPlain_use_CF_info(D3UnwindRegs *uregs , Addr min_accessible , |
|
4671 |
extern Bool vgPlain_use_CF_info(D3UnwindRegs *uregs , Addr min_accessible , |
| 4672 |
Addr max_accessible ) ; |
|
4672 |
Addr max_accessible ) ; |
| 4673 |
extern Bool vgPlain_use_FPO_info(Addr *ipP , Addr *spP , Addr *fpP , |
|
4673 |
extern Bool vgPlain_use_FPO_info(Addr *ipP , Addr *spP , Addr *fpP , |
| 4674 |
Addr min_accessible , Addr max_accessible ) ; |
|
4674 |
Addr min_accessible , Addr max_accessible ) ; |
| 4675 |
extern Addr vgPlain_get_tocptr(Addr guest_code_addr ) ; |
|
4675 |
extern Addr vgPlain_get_tocptr(Addr guest_code_addr ) ; |
| 4676 |
extern Bool vgPlain_lookup_symbol_SLOW(UChar *sopatt , UChar *name , |
|
4676 |
extern Bool vgPlain_lookup_symbol_SLOW(UChar *sopatt , UChar *name , |
| 4677 |
Addr *pEnt , Addr *pToc ) ; |
|
4677 |
Addr *pEnt , Addr *pToc ) ; |
| 4678 |
extern void vgModuleLocal_sema_init(vg_sema_t *sema ) ; |
|
4678 |
extern void vgModuleLocal_sema_init(vg_sema_t *sema ) ; |
| 4679 |
extern void vgModuleLocal_sema_deinit(vg_sema_t *sema ) ; |
|
4679 |
extern void vgModuleLocal_sema_deinit(vg_sema_t *sema ) ; |
| 4680 |
extern void vgModuleLocal_sema_down(vg_sema_t *sema , Bool as_LL ) ; |
|
4680 |
extern void vgModuleLocal_sema_down(vg_sema_t *sema , Bool as_LL ) ; |
| 4681 |
extern void vgModuleLocal_sema_up(vg_sema_t *sema , Bool as_LL ) ; |
|
4681 |
extern void vgModuleLocal_sema_up(vg_sema_t *sema , Bool as_LL ) ; |
| 4682 |
ThreadId vgPlain_alloc_ThreadState(void) ; |
|
4682 |
ThreadId vgPlain_alloc_ThreadState(void) ; |
| 4683 |
void vgPlain_exit_thread(ThreadId tid ) ; |
|
4683 |
void vgPlain_exit_thread(ThreadId tid ) ; |
| 4684 |
void vgPlain_get_thread_out_of_syscall(ThreadId tid ) ; |
|
4684 |
void vgPlain_get_thread_out_of_syscall(ThreadId tid ) ; |
| 4685 |
void vgPlain_nuke_all_threads_except(ThreadId me , VgSchedReturnCode src ) ; |
|
4685 |
void vgPlain_nuke_all_threads_except(ThreadId me , VgSchedReturnCode src ) ; |
| 4686 |
void vgPlain_acquire_BigLock(ThreadId tid , HChar *who ) ; |
|
4686 |
void vgPlain_acquire_BigLock(ThreadId tid , HChar *who ) ; |
| 4687 |
void vgPlain_acquire_BigLock_LL(HChar *who ) ; |
|
4687 |
void vgPlain_acquire_BigLock_LL(HChar *who ) ; |
| 4688 |
void vgPlain_release_BigLock(ThreadId tid , ThreadStatus sleepstate , |
|
4688 |
void vgPlain_release_BigLock(ThreadId tid , ThreadStatus sleepstate , |
| 4689 |
HChar *who ) ; |
|
4689 |
HChar *who ) ; |
| 4690 |
void vgPlain_release_BigLock_LL(HChar *who ) ; |
|
4690 |
void vgPlain_release_BigLock_LL(HChar *who ) ; |
| 4691 |
void vgPlain_vg_yield(void) ; |
|
4691 |
void vgPlain_vg_yield(void) ; |
| 4692 |
VgSchedReturnCode vgPlain_scheduler(ThreadId tid ) ; |
|
4692 |
VgSchedReturnCode vgPlain_scheduler(ThreadId tid ) ; |
| 4693 |
ThreadId vgPlain_scheduler_init_phase1(void) ; |
|
4693 |
ThreadId vgPlain_scheduler_init_phase1(void) ; |
| 4694 |
void vgPlain_scheduler_init_phase2(ThreadId tid_main , Addr clstack_end , |
|
4694 |
void vgPlain_scheduler_init_phase2(ThreadId tid_main , Addr clstack_end , |
| 4695 |
SizeT clstack_size ) ; |
|
4695 |
SizeT clstack_size ) ; |
| 4696 |
void vgPlain_disable_vgdb_poll(void) ; |
|
4696 |
void vgPlain_disable_vgdb_poll(void) ; |
| 4697 |
void vgPlain_force_vgdb_poll(void) ; |
|
4697 |
void vgPlain_force_vgdb_poll(void) ; |
| 4698 |
ULong vgPlain_bbs_done(void) ; |
|
4698 |
ULong vgPlain_bbs_done(void) ; |
| 4699 |
void vgPlain_print_scheduler_stats(void) ; |
|
4699 |
void vgPlain_print_scheduler_stats(void) ; |
| 4700 |
Bool vgPlain_in_generated_code ; |
|
4700 |
Bool vgPlain_in_generated_code ; |
| 4701 |
void vgPlain_sanity_check_general(Bool force_expensive ) ; |
|
4701 |
void vgPlain_sanity_check_general(Bool force_expensive ) ; |
| 4702 |
extern void vgPlain_redir_notify_new_DebugInfo(DebugInfo * ) ; |
|
4702 |
extern void vgPlain_redir_notify_new_DebugInfo(DebugInfo * ) ; |
| 4703 |
extern void vgPlain_redir_notify_delete_DebugInfo(DebugInfo * ) ; |
|
4703 |
extern void vgPlain_redir_notify_delete_DebugInfo(DebugInfo * ) ; |
| 4704 |
extern void vgPlain_redir_initialise(void) ; |
|
4704 |
extern void vgPlain_redir_initialise(void) ; |
| 4705 |
extern void vgPlain_redir_add_ifunc_target(Addr old_from , Addr new_from ) ; |
|
4705 |
extern void vgPlain_redir_add_ifunc_target(Addr old_from , Addr new_from ) ; |
| 4706 |
extern Addr vgPlain_redir_do_lookup(Addr orig , Bool *isWrap ) ; |
|
4706 |
extern Addr vgPlain_redir_do_lookup(Addr orig , Bool *isWrap ) ; |
| 4707 |
Bool vgPlain_in_generated_code = (Bool )0; |
|
4707 |
Bool vgPlain_in_generated_code = (Bool )0; |
| 4708 |
UInt vgPlain_dispatch_ctr ; |
|
4708 |
UInt vgPlain_dispatch_ctr ; |
| 4709 |
static ULong bbs_done = (ULong )0; |
|
4709 |
static ULong bbs_done = (ULong )0; |
| 4710 |
static ULong vgdb_next_poll ; |
|
4710 |
static ULong vgdb_next_poll ; |
| 4711 |
static void do_client_request(ThreadId tid ) ; |
|
4711 |
static void do_client_request(ThreadId tid ) ; |
| 4712 |
static void scheduler_sanity(ThreadId tid ) ; |
|
4712 |
static void scheduler_sanity(ThreadId tid ) ; |
| 4713 |
static void mostly_clear_thread_record(ThreadId tid ) ; |
|
4713 |
static void mostly_clear_thread_record(ThreadId tid ) ; |
| 4714 |
static ULong n_scheduling_events_MINOR = (ULong )0; |
|
4714 |
static ULong n_scheduling_events_MINOR = (ULong )0; |
| 4715 |
static ULong n_scheduling_events_MAJOR = (ULong )0; |
|
4715 |
static ULong n_scheduling_events_MAJOR = (ULong )0; |
| 4716 |
static UInt sanity_fast_count = (UInt )0; |
|
4716 |
static UInt sanity_fast_count = (UInt )0; |
| 4717 |
static UInt sanity_slow_count = (UInt )0; |
|
4717 |
static UInt sanity_slow_count = (UInt )0; |
| 4718 |
void vgPlain_print_scheduler_stats(void) |
|
4718 |
void vgPlain_print_scheduler_stats(void) |
| 4719 |
{ |
|
4719 |
{ |
| 4720 |
|
|
4720 |
|
| 4721 |
|
|
4721 |
|
| 4722 |
{ |
|
4722 |
{ |
| 4723 |
vgPlain_message((VgMsgKind )2, "scheduler: %\'llu jumps (bb entries).\n", |
|
4723 |
vgPlain_message((VgMsgKind )2, "scheduler: %\'llu jumps (bb entries).\n", |
| 4724 |
bbs_done); |
|
4724 |
bbs_done); |
| 4725 |
vgPlain_message((VgMsgKind )2, |
|
4725 |
vgPlain_message((VgMsgKind )2, |
| 4726 |
"scheduler: %\'llu/%\'llu major/minor sched events.\n", |
|
4726 |
"scheduler: %\'llu/%\'llu major/minor sched events.\n", |
| 4727 |
n_scheduling_events_MAJOR, n_scheduling_events_MINOR); |
|
4727 |
n_scheduling_events_MAJOR, n_scheduling_events_MINOR); |
| 4728 |
vgPlain_message((VgMsgKind )2, " sanity: %d cheap, %d expensive checks.\n", |
|
4728 |
vgPlain_message((VgMsgKind )2, " sanity: %d cheap, %d expensive checks.\n", |
| 4729 |
sanity_fast_count, sanity_slow_count); |
|
4729 |
sanity_fast_count, sanity_slow_count); |
| 4730 |
return; |
|
4730 |
return; |
| 4731 |
} |
|
4731 |
} |
| 4732 |
} |
|
4732 |
} |
| 4733 |
static vg_sema_t the_BigLock ; |
|
4733 |
static vg_sema_t the_BigLock ; |
| 4734 |
static void print_sched_event(ThreadId tid , Char *what ) |
|
4734 |
static void print_sched_event(ThreadId tid , Char *what ) |
| 4735 |
{ |
|
4735 |
{ |
| 4736 |
|
|
4736 |
|
| 4737 |
|
|
4737 |
|
| 4738 |
{ |
|
4738 |
{ |
| 4739 |
vgPlain_message((VgMsgKind )2, " SCHED[%d]: %s\n", tid, what); |
|
4739 |
vgPlain_message((VgMsgKind )2, " SCHED[%d]: %s\n", tid, what); |
| 4740 |
return; |
|
4740 |
return; |
| 4741 |
} |
|
4741 |
} |
| 4742 |
} |
|
4742 |
} |
| 4743 |
static ULong bbs_done_lastcheck = (ULong )0; |
|
4743 |
static ULong bbs_done_lastcheck = (ULong )0; |
| 4744 |
static void maybe_show_sb_counts(void) |
|
4744 |
static void maybe_show_sb_counts(void) |
| 4745 |
{ |
|
4745 |
{ |
| 4746 |
Long delta ; |
|
4746 |
Long delta ; |
| 4747 |
long tmp ; |
|
4747 |
long tmp ; |
| 4748 |
long tmp___0 ; |
|
4748 |
long tmp___0 ; |
| 4749 |
|
|
4749 |
|
| 4750 |
{ |
|
4750 |
{ |
| 4751 |
delta = (Long )(bbs_done - bbs_done_lastcheck); |
|
4751 |
delta = (Long )(bbs_done - bbs_done_lastcheck); |
| 4752 |
tmp = __builtin_expect((long )(! (! (delta >= 0LL))), 1L); |
|
4752 |
tmp = __builtin_expect((long )(! (! (delta >= 0LL))), 1L); |
| 4753 |
if (tmp) { |
|
4753 |
if (tmp) { |
| 4754 |
|
|
4754 |
|
| 4755 |
} else { |
|
4755 |
} else { |
| 4756 |
vgPlain_assert_fail((Bool )1, (Char const *)"delta >= 0", |
|
4756 |
vgPlain_assert_fail((Bool )1, (Char const *)"delta >= 0", |
| 4757 |
(Char const *)"m_scheduler/scheduler.c", 171, |
|
4757 |
(Char const *)"m_scheduler/scheduler.c", 171, |
| 4758 |
(Char const *)"maybe_show_sb_counts", ""); |
|
4758 |
(Char const *)"maybe_show_sb_counts", ""); |
| 4759 |
} |
|
4759 |
} |
| 4760 |
tmp___0 = __builtin_expect((long )(! (! ((unsigned long long )delta >= 20000000ULL))), |
|
4760 |
tmp___0 = __builtin_expect((long )(! (! ((unsigned long long )delta >= 20000000ULL))), |
| 4761 |
0L); |
|
4761 |
0L); |
| 4762 |
if (tmp___0) { |
|
4762 |
if (tmp___0) { |
| 4763 |
vgPlain_umsg("%\'lld superblocks executed\n", bbs_done); |
|
4763 |
vgPlain_umsg("%\'lld superblocks executed\n", bbs_done); |
| 4764 |
bbs_done_lastcheck = bbs_done; |
|
4764 |
bbs_done_lastcheck = bbs_done; |
| 4765 |
} else { |
|
4765 |
} else { |
| 4766 |
|
|
4766 |
|
| 4767 |
} |
|
4767 |
} |
| 4768 |
return; |
|
4768 |
return; |
| 4769 |
} |
|
4769 |
} |
| 4770 |
} |
|
4770 |
} |
| 4771 |
static HChar *name_of_sched_event(UInt event ) |
|
4771 |
static HChar *name_of_sched_event(UInt event ) |
| 4772 |
{ |
|
4772 |
{ |
| 4773 |
|
|
4773 |
|
| 4774 |
|
|
4774 |
|
| 4775 |
{ |
|
4775 |
{ |
| 4776 |
switch (event) { |
|
4776 |
switch (event) { |
| 4777 |
case 73U: |
|
4777 |
case 73U: |
| 4778 |
return ((HChar *)"SYSCALL"); |
|
4778 |
return ((HChar *)"SYSCALL"); |
| 4779 |
case 75U: |
|
4779 |
case 75U: |
| 4780 |
return ((HChar *)"INT32"); |
|
4780 |
return ((HChar *)"INT32"); |
| 4781 |
case 77U: |
|
4781 |
case 77U: |
| 4782 |
return ((HChar *)"INT128"); |
|
4782 |
return ((HChar *)"INT128"); |
| 4783 |
case 89U: |
|
4783 |
case 89U: |
| 4784 |
return ((HChar *)"INT129"); |
|
4784 |
return ((HChar *)"INT129"); |
| 4785 |
case 91U: |
|
4785 |
case 91U: |
| 4786 |
return ((HChar *)"INT130"); |
|
4786 |
return ((HChar *)"INT130"); |
| 4787 |
case 79U: |
|
4787 |
case 79U: |
| 4788 |
return ((HChar *)"SYSENTER"); |
|
4788 |
return ((HChar *)"SYSENTER"); |
| 4789 |
case 65U: |
|
4789 |
case 65U: |
| 4790 |
return ((HChar *)"CLIENTREQ"); |
|
4790 |
return ((HChar *)"CLIENTREQ"); |
| 4791 |
case 67U: |
|
4791 |
case 67U: |
| 4792 |
return ((HChar *)"YIELD"); |
|
4792 |
return ((HChar *)"YIELD"); |
| 4793 |
case 69U: |
|
4793 |
case 69U: |
| 4794 |
return ((HChar *)"NODECODE"); |
|
4794 |
return ((HChar *)"NODECODE"); |
| 4795 |
case 71U: |
|
4795 |
case 71U: |
| 4796 |
return ((HChar *)"MAPFAIL"); |
|
4796 |
return ((HChar *)"MAPFAIL"); |
| 4797 |
case 81U: |
|
4797 |
case 81U: |
| 4798 |
return ((HChar *)"NOREDIR"); |
|
4798 |
return ((HChar *)"NOREDIR"); |
| 4799 |
case 63U: |
|
4799 |
case 63U: |
| 4800 |
return ((HChar *)"EMWARN"); |
|
4800 |
return ((HChar *)"EMWARN"); |
| 4801 |
case 61U: |
|
4801 |
case 61U: |
| 4802 |
return ((HChar *)"TINVAL"); |
|
4802 |
return ((HChar *)"TINVAL"); |
| 4803 |
case 47U: |
|
4803 |
case 47U: |
| 4804 |
return ((HChar *)"INVFAILED"); |
|
4804 |
return ((HChar *)"INVFAILED"); |
| 4805 |
case 41U: |
|
4805 |
case 41U: |
| 4806 |
return ((HChar *)"COUNTERZERO"); |
|
4806 |
return ((HChar *)"COUNTERZERO"); |
| 4807 |
case 37U: |
|
4807 |
case 37U: |
| 4808 |
return ((HChar *)"FASTMISS"); |
|
4808 |
return ((HChar *)"FASTMISS"); |
| 4809 |
case 43U: |
|
4809 |
case 43U: |
| 4810 |
return ((HChar *)"FAULTSIGNAL"); |
|
4810 |
return ((HChar *)"FAULTSIGNAL"); |
| 4811 |
default: |
|
4811 |
default: |
| 4812 |
return ((HChar *)"??UNKNOWN??"); |
|
4812 |
return ((HChar *)"??UNKNOWN??"); |
| 4813 |
} |
|
4813 |
} |
| 4814 |
} |
|
4814 |
} |
| 4815 |
} |
|
4815 |
} |
| 4816 |
ThreadId vgPlain_alloc_ThreadState(void) |
|
4816 |
ThreadId vgPlain_alloc_ThreadState(void) |
| 4817 |
{ |
|
4817 |
{ |
| 4818 |
Int i ; |
|
4818 |
Int i ; |
| 4819 |
|
|
4819 |
|
| 4820 |
{ |
|
4820 |
{ |
| 4821 |
i = 1; |
|
4821 |
i = 1; |
| 4822 |
while (i < 500) { |
|
4822 |
while (i < 500) { |
| 4823 |
if ((unsigned int )vgPlain_threads[i].status == 0U) { |
|
4823 |
if ((unsigned int )vgPlain_threads[i].status == 0U) { |
| 4824 |
vgPlain_threads[i].status = (ThreadStatus )1; |
|
4824 |
vgPlain_threads[i].status = (ThreadStatus )1; |
| 4825 |
vgPlain_threads[i].exitreason = (VgSchedReturnCode )0; |
|
4825 |
vgPlain_threads[i].exitreason = (VgSchedReturnCode )0; |
| 4826 |
return ((ThreadId )i); |
|
4826 |
return ((ThreadId )i); |
| 4827 |
} else { |
|
4827 |
} else { |
| 4828 |
|
|
4828 |
|
| 4829 |
} |
|
4829 |
} |
| 4830 |
i ++; |
|
4830 |
i ++; |
| 4831 |
} |
|
4831 |
} |
| 4832 |
vgPlain_printf("vg_alloc_ThreadState: no free slots available\n"); |
|
4832 |
vgPlain_printf("vg_alloc_ThreadState: no free slots available\n"); |
| 4833 |
vgPlain_printf("Increase VG_N_THREADS, rebuild and try again.\n"); |
|
4833 |
vgPlain_printf("Increase VG_N_THREADS, rebuild and try again.\n"); |
| 4834 |
vgPlain_core_panic((Char *)"VG_N_THREADS is too low"); |
|
4834 |
vgPlain_core_panic((Char *)"VG_N_THREADS is too low"); |
| 4835 |
} |
|
4835 |
} |
| 4836 |
} |
|
4836 |
} |
| 4837 |
void vgPlain_acquire_BigLock(ThreadId tid , HChar *who ) |
|
4837 |
void vgPlain_acquire_BigLock(ThreadId tid , HChar *who ) |
| 4838 |
{ |
|
4838 |
{ |
| 4839 |
ThreadState *tst ; |
|
4839 |
ThreadState *tst ; |
| 4840 |
long tmp ; |
|
4840 |
long tmp ; |
| 4841 |
long tmp___0 ; |
|
4841 |
long tmp___0 ; |
| 4842 |
Addr gsp ; |
|
4842 |
Addr gsp ; |
| 4843 |
Addr tmp___1 ; |
|
4843 |
Addr tmp___1 ; |
| 4844 |
HChar buf[150] ; |
|
4844 |
HChar buf[150] ; |
| 4845 |
SizeT tmp___2 ; |
|
4845 |
SizeT tmp___2 ; |
| 4846 |
int tmp___3 ; |
|
4846 |
int tmp___3 ; |
| 4847 |
long tmp___4 ; |
|
4847 |
long tmp___4 ; |
| 4848 |
|
|
4848 |
|
| 4849 |
{ |
|
4849 |
{ |
| 4850 |
vgModuleLocal_sema_down(& the_BigLock, (Bool )0); |
|
4850 |
vgModuleLocal_sema_down(& the_BigLock, (Bool )0); |
| 4851 |
tst = vgPlain_get_ThreadState(tid); |
|
4851 |
tst = vgPlain_get_ThreadState(tid); |
| 4852 |
tmp = __builtin_expect((long )(! (! ((unsigned int )tst->status != 2U))), 1L); |
|
4852 |
tmp = __builtin_expect((long )(! (! ((unsigned int )tst->status != 2U))), 1L); |
| 4853 |
if (tmp) { |
|
4853 |
if (tmp) { |
| 4854 |
|
|
4854 |
|
| 4855 |
} else { |
|
4855 |
} else { |
| 4856 |
vgPlain_assert_fail((Bool )1, |
|
4856 |
vgPlain_assert_fail((Bool )1, |
| 4857 |
(Char const *)"tst->status != VgTs_Runnable", |
|
4857 |
(Char const *)"tst->status != VgTs_Runnable", |
| 4858 |
(Char const *)"m_scheduler/scheduler.c", 248, |
|
4858 |
(Char const *)"m_scheduler/scheduler.c", 248, |
| 4859 |
(Char const *)"vgPlain_acquire_BigLock", ""); |
|
4859 |
(Char const *)"vgPlain_acquire_BigLock", ""); |
| 4860 |
} |
|
4860 |
} |
| 4861 |
tst->status = (ThreadStatus )2; |
|
4861 |
tst->status = (ThreadStatus )2; |
| 4862 |
if (vgPlain_running_tid != 0U) { |
|
4862 |
if (vgPlain_running_tid != 0U) { |
| 4863 |
vgPlain_printf("tid %d found %d running\n", tid, vgPlain_running_tid); |
|
4863 |
vgPlain_printf("tid %d found %d running\n", tid, vgPlain_running_tid); |
| 4864 |
} else { |
|
4864 |
} else { |
| 4865 |
|
|
4865 |
|
| 4866 |
} |
|
4866 |
} |
| 4867 |
tmp___0 = __builtin_expect((long )(! (! (vgPlain_running_tid == 0U))), 1L); |
|
4867 |
tmp___0 = __builtin_expect((long )(! (! (vgPlain_running_tid == 0U))), 1L); |
| 4868 |
if (tmp___0) { |
|
4868 |
if (tmp___0) { |
| 4869 |
|
|
4869 |
|
| 4870 |
} else { |
|
4870 |
} else { |
| 4871 |
vgPlain_assert_fail((Bool )1, |
|
4871 |
vgPlain_assert_fail((Bool )1, |
| 4872 |
(Char const *)"VG_(running_tid) == VG_INVALID_THREADID", |
|
4872 |
(Char const *)"VG_(running_tid) == VG_INVALID_THREADID", |
| 4873 |
(Char const *)"m_scheduler/scheduler.c", 254, |
|
4873 |
(Char const *)"m_scheduler/scheduler.c", 254, |
| 4874 |
(Char const *)"vgPlain_acquire_BigLock", ""); |
|
4874 |
(Char const *)"vgPlain_acquire_BigLock", ""); |
| 4875 |
} |
|
4875 |
} |
| 4876 |
vgPlain_running_tid = tid; |
|
4876 |
vgPlain_running_tid = tid; |
| 4877 |
tmp___1 = vgPlain_get_SP(tid); |
|
4877 |
tmp___1 = vgPlain_get_SP(tid); |
| 4878 |
gsp = tmp___1; |
|
4878 |
gsp = tmp___1; |
| 4879 |
vgPlain_unknown_SP_update(gsp, gsp, (UInt )0); |
|
4879 |
vgPlain_unknown_SP_update(gsp, gsp, (UInt )0); |
| 4880 |
if (vgPlain_clo_trace_sched) { |
|
4880 |
if (vgPlain_clo_trace_sched) { |
| 4881 |
tmp___2 = vgPlain_strlen((Char const *)who); |
|
4881 |
tmp___2 = vgPlain_strlen((Char const *)who); |
| 4882 |
if (tmp___2 <= 100UL) { |
|
4882 |
if (tmp___2 <= 100UL) { |
| 4883 |
tmp___3 = 1; |
|
4883 |
tmp___3 = 1; |
| 4884 |
} else { |
|
4884 |
} else { |
| 4885 |
tmp___3 = 0; |
|
4885 |
tmp___3 = 0; |
| 4886 |
} |
|
4886 |
} |
| 4887 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
|
4887 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
| 4888 |
if (tmp___4) { |
|
4888 |
if (tmp___4) { |
| 4889 |
|
|
4889 |
|
| 4890 |
} else { |
|
4890 |
} else { |
| 4891 |
vgPlain_assert_fail((Bool )1, |
|
4891 |
vgPlain_assert_fail((Bool )1, |
| 4892 |
(Char const *)"VG_(strlen)(who) <= 150-50", |
|
4892 |
(Char const *)"VG_(strlen)(who) <= 150-50", |
| 4893 |
(Char const *)"m_scheduler/scheduler.c", 263, |
|
4893 |
(Char const *)"m_scheduler/scheduler.c", 263, |
| 4894 |
(Char const *)"vgPlain_acquire_BigLock", ""); |
|
4894 |
(Char const *)"vgPlain_acquire_BigLock", ""); |
| 4895 |
} |
|
4895 |
} |
| 4896 |
vgPlain_sprintf((Char *)(buf), " acquired lock (%s)", who); |
|
4896 |
vgPlain_sprintf((Char *)(buf), " acquired lock (%s)", who); |
| 4897 |
print_sched_event(tid, (Char *)(buf)); |
|
4897 |
print_sched_event(tid, (Char *)(buf)); |
| 4898 |
} else { |
|
4898 |
} else { |
| 4899 |
|
|
4899 |
|
| 4900 |
} |
|
4900 |
} |
| 4901 |
return; |
|
4901 |
return; |
| 4902 |
} |
|
4902 |
} |
| 4903 |
} |
|
4903 |
} |
| 4904 |
void vgPlain_release_BigLock(ThreadId tid , ThreadStatus sleepstate , |
|
4904 |
void vgPlain_release_BigLock(ThreadId tid , ThreadStatus sleepstate , |
| 4905 |
HChar *who ) |
|
4905 |
HChar *who ) |
| 4906 |
{ |
|
4906 |
{ |
| 4907 |
ThreadState *tst ; |
|
4907 |
ThreadState *tst ; |
| 4908 |
ThreadState *tmp ; |
|
4908 |
ThreadState *tmp ; |
| 4909 |
long tmp___0 ; |
|
4909 |
long tmp___0 ; |
| 4910 |
int tmp___1 ; |
|
4910 |
int tmp___1 ; |
| 4911 |
long tmp___2 ; |
|
4911 |
long tmp___2 ; |
| 4912 |
long tmp___3 ; |
|
4912 |
long tmp___3 ; |
| 4913 |
Char buf[200] ; |
|
4913 |
Char buf[200] ; |
| 4914 |
SizeT tmp___4 ; |
|
4914 |
SizeT tmp___4 ; |
| 4915 |
int tmp___5 ; |
|
4915 |
int tmp___5 ; |
| 4916 |
long tmp___6 ; |
|
4916 |
long tmp___6 ; |
| 4917 |
HChar const *tmp___7 ; |
|
4917 |
HChar const *tmp___7 ; |
| 4918 |
|
|
4918 |
|
| 4919 |
{ |
|
4919 |
{ |
| 4920 |
tmp = vgPlain_get_ThreadState(tid); |
|
4920 |
tmp = vgPlain_get_ThreadState(tid); |
| 4921 |
tst = tmp; |
|
4921 |
tst = tmp; |
| 4922 |
tmp___0 = __builtin_expect((long )(! (! ((unsigned int )tst->status == 2U))), |
|
4922 |
tmp___0 = __builtin_expect((long )(! (! ((unsigned int )tst->status == 2U))), |
| 4923 |
1L); |
|
4923 |
1L); |
| 4924 |
if (tmp___0) { |
|
4924 |
if (tmp___0) { |
| 4925 |
|
|
4925 |
|
| 4926 |
} else { |
|
4926 |
} else { |
| 4927 |
vgPlain_assert_fail((Bool )1, |
|
4927 |
vgPlain_assert_fail((Bool )1, |
| 4928 |
(Char const *)"tst->status == VgTs_Runnable", |
|
4928 |
(Char const *)"tst->status == VgTs_Runnable", |
| 4929 |
(Char const *)"m_scheduler/scheduler.c", 280, |
|
4929 |
(Char const *)"m_scheduler/scheduler.c", 280, |
| 4930 |
(Char const *)"vgPlain_release_BigLock", ""); |
|
4930 |
(Char const *)"vgPlain_release_BigLock", ""); |
| 4931 |
} |
|
4931 |
} |
| 4932 |
if ((unsigned int )sleepstate == 3U) { |
|
4932 |
if ((unsigned int )sleepstate == 3U) { |
| 4933 |
tmp___1 = 1; |
|
4933 |
tmp___1 = 1; |
| 4934 |
} else |
|
4934 |
} else |
| 4935 |
if ((unsigned int )sleepstate == 4U) { |
|
4935 |
if ((unsigned int )sleepstate == 4U) { |
| 4936 |
tmp___1 = 1; |
|
4936 |
tmp___1 = 1; |
| 4937 |
} else { |
|
4937 |
} else { |
| 4938 |
tmp___1 = 0; |
|
4938 |
tmp___1 = 0; |
| 4939 |
} |
|
4939 |
} |
| 4940 |
tmp___2 = __builtin_expect((long )tmp___1, 1L); |
|
4940 |
tmp___2 = __builtin_expect((long )tmp___1, 1L); |
| 4941 |
if (tmp___2) { |
|
4941 |
if (tmp___2) { |
| 4942 |
|
|
4942 |
|
| 4943 |
} else { |
|
4943 |
} else { |
| 4944 |
vgPlain_assert_fail((Bool )1, |
|
4944 |
vgPlain_assert_fail((Bool )1, |
| 4945 |
(Char const *)"sleepstate == VgTs_WaitSys || sleepstate == VgTs_Yielding", |
|
4945 |
(Char const *)"sleepstate == VgTs_WaitSys || sleepstate == VgTs_Yielding", |
| 4946 |
(Char const *)"m_scheduler/scheduler.c", 283, |
|
4946 |
(Char const *)"m_scheduler/scheduler.c", 283, |
| 4947 |
(Char const *)"vgPlain_release_BigLock", ""); |
|
4947 |
(Char const *)"vgPlain_release_BigLock", ""); |
| 4948 |
} |
|
4948 |
} |
| 4949 |
tst->status = sleepstate; |
|
4949 |
tst->status = sleepstate; |
| 4950 |
tmp___3 = __builtin_expect((long )(! (! (vgPlain_running_tid == tid))), 1L); |
|
4950 |
tmp___3 = __builtin_expect((long )(! (! (vgPlain_running_tid == tid))), 1L); |
| 4951 |
if (tmp___3) { |
|
4951 |
if (tmp___3) { |
| 4952 |
|
|
4952 |
|
| 4953 |
} else { |
|
4953 |
} else { |
| 4954 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(running_tid) == tid", |
|
4954 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(running_tid) == tid", |
| 4955 |
(Char const *)"m_scheduler/scheduler.c", 287, |
|
4955 |
(Char const *)"m_scheduler/scheduler.c", 287, |
| 4956 |
(Char const *)"vgPlain_release_BigLock", ""); |
|
4956 |
(Char const *)"vgPlain_release_BigLock", ""); |
| 4957 |
} |
|
4957 |
} |
| 4958 |
vgPlain_running_tid = (ThreadId )0; |
|
4958 |
vgPlain_running_tid = (ThreadId )0; |
| 4959 |
if (vgPlain_clo_trace_sched) { |
|
4959 |
if (vgPlain_clo_trace_sched) { |
| 4960 |
tmp___4 = vgPlain_strlen((Char const *)who); |
|
4960 |
tmp___4 = vgPlain_strlen((Char const *)who); |
| 4961 |
if (tmp___4 <= 100UL) { |
|
4961 |
if (tmp___4 <= 100UL) { |
| 4962 |
tmp___5 = 1; |
|
4962 |
tmp___5 = 1; |
| 4963 |
} else { |
|
4963 |
} else { |
| 4964 |
tmp___5 = 0; |
|
4964 |
tmp___5 = 0; |
| 4965 |
} |
|
4965 |
} |
| 4966 |
tmp___6 = __builtin_expect((long )tmp___5, 1L); |
|
4966 |
tmp___6 = __builtin_expect((long )tmp___5, 1L); |
| 4967 |
if (tmp___6) { |
|
4967 |
if (tmp___6) { |
| 4968 |
|
|
4968 |
|
| 4969 |
} else { |
|
4969 |
} else { |
| 4970 |
vgPlain_assert_fail((Bool )1, |
|
4970 |
vgPlain_assert_fail((Bool )1, |
| 4971 |
(Char const *)"VG_(strlen)(who) <= 200-100", |
|
4971 |
(Char const *)"VG_(strlen)(who) <= 200-100", |
| 4972 |
(Char const *)"m_scheduler/scheduler.c", 292, |
|
4972 |
(Char const *)"m_scheduler/scheduler.c", 292, |
| 4973 |
(Char const *)"vgPlain_release_BigLock", ""); |
|
4973 |
(Char const *)"vgPlain_release_BigLock", ""); |
| 4974 |
} |
|
4974 |
} |
| 4975 |
tmp___7 = vgPlain_name_of_ThreadStatus(sleepstate); |
|
4975 |
tmp___7 = vgPlain_name_of_ThreadStatus(sleepstate); |
| 4976 |
vgPlain_sprintf(buf, "releasing lock (%s) -> %s", who, tmp___7); |
|
4976 |
vgPlain_sprintf(buf, "releasing lock (%s) -> %s", who, tmp___7); |
| 4977 |
print_sched_event(tid, buf); |
|
4977 |
print_sched_event(tid, buf); |
| 4978 |
} else { |
|
4978 |
} else { |
| 4979 |
|
|
4979 |
|
| 4980 |
} |
|
4980 |
} |
| 4981 |
vgModuleLocal_sema_up(& the_BigLock, (Bool )0); |
|
4981 |
vgModuleLocal_sema_up(& the_BigLock, (Bool )0); |
| 4982 |
return; |
|
4982 |
return; |
| 4983 |
} |
|
4983 |
} |
| 4984 |
} |
|
4984 |
} |
| 4985 |
void vgPlain_acquire_BigLock_LL(HChar *who ) |
|
4985 |
void vgPlain_acquire_BigLock_LL(HChar *who ) |
| 4986 |
{ |
|
4986 |
{ |
| 4987 |
|
|
4987 |
|
| 4988 |
|
|
4988 |
|
| 4989 |
{ |
|
4989 |
{ |
| 4990 |
vgModuleLocal_sema_down(& the_BigLock, (Bool )1); |
|
4990 |
vgModuleLocal_sema_down(& the_BigLock, (Bool )1); |
| 4991 |
return; |
|
4991 |
return; |
| 4992 |
} |
|
4992 |
} |
| 4993 |
} |
|
4993 |
} |
| 4994 |
void vgPlain_release_BigLock_LL(HChar *who ) |
|
4994 |
void vgPlain_release_BigLock_LL(HChar *who ) |
| 4995 |
{ |
|
4995 |
{ |
| 4996 |
|
|
4996 |
|
| 4997 |
|
|
4997 |
|
| 4998 |
{ |
|
4998 |
{ |
| 4999 |
vgModuleLocal_sema_up(& the_BigLock, (Bool )1); |
|
4999 |
vgModuleLocal_sema_up(& the_BigLock, (Bool )1); |
| 5000 |
return; |
|
5000 |
return; |
| 5001 |
} |
|
5001 |
} |
| 5002 |
} |
|
5002 |
} |
| 5003 |
void vgPlain_exit_thread(ThreadId tid ) |
|
5003 |
void vgPlain_exit_thread(ThreadId tid ) |
| 5004 |
{ |
|
5004 |
{ |
| 5005 |
Bool tmp ; |
|
5005 |
Bool tmp ; |
| 5006 |
int tmp___0 ; |
|
5006 |
int tmp___0 ; |
| 5007 |
long tmp___1 ; |
|
5007 |
long tmp___1 ; |
| 5008 |
Bool tmp___2 ; |
|
5008 |
Bool tmp___2 ; |
| 5009 |
int tmp___3 ; |
|
5009 |
int tmp___3 ; |
| 5010 |
long tmp___4 ; |
|
5010 |
long tmp___4 ; |
| 5011 |
Bool tmp___5 ; |
|
5011 |
Bool tmp___5 ; |
| 5012 |
int tmp___6 ; |
|
5012 |
int tmp___6 ; |
| 5013 |
long tmp___7 ; |
|
5013 |
long tmp___7 ; |
| 5014 |
long tmp___8 ; |
|
5014 |
long tmp___8 ; |
| 5015 |
|
|
5015 |
|
| 5016 |
{ |
|
5016 |
{ |
| 5017 |
tmp = vgPlain_is_valid_tid(tid); |
|
5017 |
tmp = vgPlain_is_valid_tid(tid); |
| 5018 |
if (tmp) { |
|
5018 |
if (tmp) { |
| 5019 |
tmp___0 = 1; |
|
5019 |
tmp___0 = 1; |
| 5020 |
} else { |
|
5020 |
} else { |
| 5021 |
tmp___0 = 0; |
|
5021 |
tmp___0 = 0; |
| 5022 |
} |
|
5022 |
} |
| 5023 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
|
5023 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
| 5024 |
if (tmp___1) { |
|
5024 |
if (tmp___1) { |
| 5025 |
|
|
5025 |
|
| 5026 |
} else { |
|
5026 |
} else { |
| 5027 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_valid_tid)(tid)", |
|
5027 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_valid_tid)(tid)", |
| 5028 |
(Char const *)"m_scheduler/scheduler.c", 321, |
|
5028 |
(Char const *)"m_scheduler/scheduler.c", 321, |
| 5029 |
(Char const *)"vgPlain_exit_thread", ""); |
|
5029 |
(Char const *)"vgPlain_exit_thread", ""); |
| 5030 |
} |
|
5030 |
} |
| 5031 |
tmp___2 = vgPlain_is_running_thread(tid); |
|
5031 |
tmp___2 = vgPlain_is_running_thread(tid); |
| 5032 |
if (tmp___2) { |
|
5032 |
if (tmp___2) { |
| 5033 |
tmp___3 = 1; |
|
5033 |
tmp___3 = 1; |
| 5034 |
} else { |
|
5034 |
} else { |
| 5035 |
tmp___3 = 0; |
|
5035 |
tmp___3 = 0; |
| 5036 |
} |
|
5036 |
} |
| 5037 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
|
5037 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
| 5038 |
if (tmp___4) { |
|
5038 |
if (tmp___4) { |
| 5039 |
|
|
5039 |
|
| 5040 |
} else { |
|
5040 |
} else { |
| 5041 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
|
5041 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
| 5042 |
(Char const *)"m_scheduler/scheduler.c", 322, |
|
5042 |
(Char const *)"m_scheduler/scheduler.c", 322, |
| 5043 |
(Char const *)"vgPlain_exit_thread", ""); |
|
5043 |
(Char const *)"vgPlain_exit_thread", ""); |
| 5044 |
} |
|
5044 |
} |
| 5045 |
tmp___5 = vgPlain_is_exiting(tid); |
|
5045 |
tmp___5 = vgPlain_is_exiting(tid); |
| 5046 |
if (tmp___5) { |
|
5046 |
if (tmp___5) { |
| 5047 |
tmp___6 = 1; |
|
5047 |
tmp___6 = 1; |
| 5048 |
} else { |
|
5048 |
} else { |
| 5049 |
tmp___6 = 0; |
|
5049 |
tmp___6 = 0; |
| 5050 |
} |
|
5050 |
} |
| 5051 |
tmp___7 = __builtin_expect((long )tmp___6, 1L); |
|
5051 |
tmp___7 = __builtin_expect((long )tmp___6, 1L); |
| 5052 |
if (tmp___7) { |
|
5052 |
if (tmp___7) { |
| 5053 |
|
|
5053 |
|
| 5054 |
} else { |
|
5054 |
} else { |
| 5055 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_exiting)(tid)", |
|
5055 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_exiting)(tid)", |
| 5056 |
(Char const *)"m_scheduler/scheduler.c", 323, |
|
5056 |
(Char const *)"m_scheduler/scheduler.c", 323, |
| 5057 |
(Char const *)"vgPlain_exit_thread", ""); |
|
5057 |
(Char const *)"vgPlain_exit_thread", ""); |
| 5058 |
} |
|
5058 |
} |
| 5059 |
mostly_clear_thread_record(tid); |
|
5059 |
mostly_clear_thread_record(tid); |
| 5060 |
vgPlain_running_tid = (ThreadId )0; |
|
5060 |
vgPlain_running_tid = (ThreadId )0; |
| 5061 |
tmp___8 = __builtin_expect((long )(! (! ((unsigned int )vgPlain_threads[tid].exitreason != 0U))), |
|
5061 |
tmp___8 = __builtin_expect((long )(! (! ((unsigned int )vgPlain_threads[tid].exitreason != 0U))), |
| 5062 |
1L); |
|
5062 |
1L); |
| 5063 |
if (tmp___8) { |
|
5063 |
if (tmp___8) { |
| 5064 |
|
|
5064 |
|
| 5065 |
} else { |
|
5065 |
} else { |
| 5066 |
vgPlain_assert_fail((Bool )1, |
|
5066 |
vgPlain_assert_fail((Bool )1, |
| 5067 |
(Char const *)"VG_(threads)[tid].exitreason != VgSrc_None", |
|
5067 |
(Char const *)"VG_(threads)[tid].exitreason != VgSrc_None", |
| 5068 |
(Char const *)"m_scheduler/scheduler.c", 329, |
|
5068 |
(Char const *)"m_scheduler/scheduler.c", 329, |
| 5069 |
(Char const *)"vgPlain_exit_thread", ""); |
|
5069 |
(Char const *)"vgPlain_exit_thread", ""); |
| 5070 |
} |
|
5070 |
} |
| 5071 |
if (vgPlain_clo_trace_sched) { |
|
5071 |
if (vgPlain_clo_trace_sched) { |
| 5072 |
print_sched_event(tid, (Char *)"release lock in VG_(exit_thread)"); |
|
5072 |
print_sched_event(tid, (Char *)"release lock in VG_(exit_thread)"); |
| 5073 |
} else { |
|
5073 |
} else { |
| 5074 |
|
|
5074 |
|
| 5075 |
} |
|
5075 |
} |
| 5076 |
vgModuleLocal_sema_up(& the_BigLock, (Bool )0); |
|
5076 |
vgModuleLocal_sema_up(& the_BigLock, (Bool )0); |
| 5077 |
return; |
|
5077 |
return; |
| 5078 |
} |
|
5078 |
} |
| 5079 |
} |
|
5079 |
} |
| 5080 |
void vgPlain_get_thread_out_of_syscall(ThreadId tid ) |
|
5080 |
void vgPlain_get_thread_out_of_syscall(ThreadId tid ) |
| 5081 |
{ |
|
5081 |
{ |
| 5082 |
Bool tmp ; |
|
5082 |
Bool tmp ; |
| 5083 |
int tmp___0 ; |
|
5083 |
int tmp___0 ; |
| 5084 |
long tmp___1 ; |
|
5084 |
long tmp___1 ; |
| 5085 |
Bool tmp___2 ; |
|
5085 |
Bool tmp___2 ; |
| 5086 |
int tmp___3 ; |
|
5086 |
int tmp___3 ; |
| 5087 |
long tmp___4 ; |
|
5087 |
long tmp___4 ; |
| 5088 |
Int r __attribute__((__unused__)) ; |
|
5088 |
Int r __attribute__((__unused__)) ; |
| 5089 |
Int tmp___5 ; |
|
5089 |
Int tmp___5 ; |
| 5090 |
|
|
5090 |
|
| 5091 |
{ |
|
5091 |
{ |
| 5092 |
tmp = vgPlain_is_valid_tid(tid); |
|
5092 |
tmp = vgPlain_is_valid_tid(tid); |
| 5093 |
if (tmp) { |
|
5093 |
if (tmp) { |
| 5094 |
tmp___0 = 1; |
|
5094 |
tmp___0 = 1; |
| 5095 |
} else { |
|
5095 |
} else { |
| 5096 |
tmp___0 = 0; |
|
5096 |
tmp___0 = 0; |
| 5097 |
} |
|
5097 |
} |
| 5098 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
|
5098 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
| 5099 |
if (tmp___1) { |
|
5099 |
if (tmp___1) { |
| 5100 |
|
|
5100 |
|
| 5101 |
} else { |
|
5101 |
} else { |
| 5102 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_valid_tid)(tid)", |
|
5102 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_valid_tid)(tid)", |
| 5103 |
(Char const *)"m_scheduler/scheduler.c", 342, |
|
5103 |
(Char const *)"m_scheduler/scheduler.c", 342, |
| 5104 |
(Char const *)"vgPlain_get_thread_out_of_syscall", ""); |
|
5104 |
(Char const *)"vgPlain_get_thread_out_of_syscall", ""); |
| 5105 |
} |
|
5105 |
} |
| 5106 |
tmp___2 = vgPlain_is_running_thread(tid); |
|
5106 |
tmp___2 = vgPlain_is_running_thread(tid); |
| 5107 |
if (tmp___2) { |
|
5107 |
if (tmp___2) { |
| 5108 |
tmp___3 = 0; |
|
5108 |
tmp___3 = 0; |
| 5109 |
} else { |
|
5109 |
} else { |
| 5110 |
tmp___3 = 1; |
|
5110 |
tmp___3 = 1; |
| 5111 |
} |
|
5111 |
} |
| 5112 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
|
5112 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
| 5113 |
if (tmp___4) { |
|
5113 |
if (tmp___4) { |
| 5114 |
|
|
5114 |
|
| 5115 |
} else { |
|
5115 |
} else { |
| 5116 |
vgPlain_assert_fail((Bool )1, |
|
5116 |
vgPlain_assert_fail((Bool )1, |
| 5117 |
(Char const *)"!VG_(is_running_thread)(tid)", |
|
5117 |
(Char const *)"!VG_(is_running_thread)(tid)", |
| 5118 |
(Char const *)"m_scheduler/scheduler.c", 343, |
|
5118 |
(Char const *)"m_scheduler/scheduler.c", 343, |
| 5119 |
(Char const *)"vgPlain_get_thread_out_of_syscall", ""); |
|
5119 |
(Char const *)"vgPlain_get_thread_out_of_syscall", ""); |
| 5120 |
} |
|
5120 |
} |
| 5121 |
if ((unsigned int )vgPlain_threads[tid].status == 3U) { |
|
5121 |
if ((unsigned int )vgPlain_threads[tid].status == 3U) { |
| 5122 |
if (vgPlain_clo_trace_signals) { |
|
5122 |
if (vgPlain_clo_trace_signals) { |
| 5123 |
vgPlain_message((VgMsgKind )2, |
|
5123 |
vgPlain_message((VgMsgKind )2, |
| 5124 |
"get_thread_out_of_syscall zaps tid %d lwp %d\n", tid, |
|
5124 |
"get_thread_out_of_syscall zaps tid %d lwp %d\n", tid, |
| 5125 |
vgPlain_threads[tid].os_state.lwpid); |
|
5125 |
vgPlain_threads[tid].os_state.lwpid); |
| 5126 |
} else { |
|
5126 |
} else { |
| 5127 |
|
|
5127 |
|
| 5128 |
} |
|
5128 |
} |
| 5129 |
tmp___5 = vgPlain_tkill(vgPlain_threads[tid].os_state.lwpid, |
|
5129 |
tmp___5 = vgPlain_tkill(vgPlain_threads[tid].os_state.lwpid, |
| 5130 |
vgPlain_max_signal); |
|
5130 |
vgPlain_max_signal); |
| 5131 |
r = tmp___5; |
|
5131 |
r = tmp___5; |
| 5132 |
} else { |
|
5132 |
} else { |
| 5133 |
|
|
5133 |
|
| 5134 |
} |
|
5134 |
} |
| 5135 |
return; |
|
5135 |
return; |
| 5136 |
} |
|
5136 |
} |
| 5137 |
} |
|
5137 |
} |
| 5138 |
void vgPlain_vg_yield(void) |
|
5138 |
void vgPlain_vg_yield(void) |
| 5139 |
{ |
|
5139 |
{ |
| 5140 |
ThreadId tid ; |
|
5140 |
ThreadId tid ; |
| 5141 |
long tmp ; |
|
5141 |
long tmp ; |
| 5142 |
Int tmp___0 ; |
|
5142 |
Int tmp___0 ; |
| 5143 |
int tmp___1 ; |
|
5143 |
int tmp___1 ; |
| 5144 |
long tmp___2 ; |
|
5144 |
long tmp___2 ; |
| 5145 |
|
|
5145 |
|
| 5146 |
{ |
|
5146 |
{ |
| 5147 |
tid = vgPlain_running_tid; |
|
5147 |
tid = vgPlain_running_tid; |
| 5148 |
tmp = __builtin_expect((long )(! (! (tid != 0U))), 1L); |
|
5148 |
tmp = __builtin_expect((long )(! (! (tid != 0U))), 1L); |
| 5149 |
if (tmp) { |
|
5149 |
if (tmp) { |
| 5150 |
|
|
5150 |
|
| 5151 |
} else { |
|
5151 |
} else { |
| 5152 |
vgPlain_assert_fail((Bool )1, (Char const *)"tid != VG_INVALID_THREADID", |
|
5152 |
vgPlain_assert_fail((Bool )1, (Char const *)"tid != VG_INVALID_THREADID", |
| 5153 |
(Char const *)"m_scheduler/scheduler.c", 389, |
|
5153 |
(Char const *)"m_scheduler/scheduler.c", 389, |
| 5154 |
(Char const *)"vgPlain_vg_yield", ""); |
|
5154 |
(Char const *)"vgPlain_vg_yield", ""); |
| 5155 |
} |
|
5155 |
} |
| 5156 |
tmp___0 = vgPlain_gettid(); |
|
5156 |
tmp___0 = vgPlain_gettid(); |
| 5157 |
if (vgPlain_threads[tid].os_state.lwpid == tmp___0) { |
|
5157 |
if (vgPlain_threads[tid].os_state.lwpid == tmp___0) { |
| 5158 |
tmp___1 = 1; |
|
5158 |
tmp___1 = 1; |
| 5159 |
} else { |
|
5159 |
} else { |
| 5160 |
tmp___1 = 0; |
|
5160 |
tmp___1 = 0; |
| 5161 |
} |
|
5161 |
} |
| 5162 |
tmp___2 = __builtin_expect((long )tmp___1, 1L); |
|
5162 |
tmp___2 = __builtin_expect((long )tmp___1, 1L); |
| 5163 |
if (tmp___2) { |
|
5163 |
if (tmp___2) { |
| 5164 |
|
|
5164 |
|
| 5165 |
} else { |
|
5165 |
} else { |
| 5166 |
vgPlain_assert_fail((Bool )1, |
|
5166 |
vgPlain_assert_fail((Bool )1, |
| 5167 |
(Char const *)"VG_(threads)[tid].os_state.lwpid == VG_(gettid)()", |
|
5167 |
(Char const *)"VG_(threads)[tid].os_state.lwpid == VG_(gettid)()", |
| 5168 |
(Char const *)"m_scheduler/scheduler.c", 390, |
|
5168 |
(Char const *)"m_scheduler/scheduler.c", 390, |
| 5169 |
(Char const *)"vgPlain_vg_yield", ""); |
|
5169 |
(Char const *)"vgPlain_vg_yield", ""); |
| 5170 |
} |
|
5170 |
} |
| 5171 |
vgPlain_release_BigLock(tid, (ThreadStatus )4, (HChar *)"VG_(vg_yield)"); |
|
5171 |
vgPlain_release_BigLock(tid, (ThreadStatus )4, (HChar *)"VG_(vg_yield)"); |
| 5172 |
vgPlain_do_syscall((UWord )158, (UWord )0, (UWord )0, (UWord )0, (UWord )0, |
|
5172 |
vgPlain_do_syscall((UWord )158, (UWord )0, (UWord )0, (UWord )0, (UWord )0, |
| 5173 |
(UWord )0, (UWord )0, (UWord )0, (UWord )0); |
|
5173 |
(UWord )0, (UWord )0, (UWord )0, (UWord )0); |
| 5174 |
vgPlain_acquire_BigLock(tid, (HChar *)"VG_(vg_yield)"); |
|
5174 |
vgPlain_acquire_BigLock(tid, (HChar *)"VG_(vg_yield)"); |
| 5175 |
return; |
|
5175 |
return; |
| 5176 |
} |
|
5176 |
} |
| 5177 |
} |
|
5177 |
} |
| 5178 |
static void block_signals(void) |
|
5178 |
static void block_signals(void) |
| 5179 |
{ |
|
5179 |
{ |
| 5180 |
vki_sigset_t mask ; |
|
5180 |
vki_sigset_t mask ; |
| 5181 |
|
|
5181 |
|
| 5182 |
{ |
|
5182 |
{ |
| 5183 |
vgPlain_sigfillset(& mask); |
|
5183 |
vgPlain_sigfillset(& mask); |
| 5184 |
vgPlain_sigdelset(& mask, 11); |
|
5184 |
vgPlain_sigdelset(& mask, 11); |
| 5185 |
vgPlain_sigdelset(& mask, 7); |
|
5185 |
vgPlain_sigdelset(& mask, 7); |
| 5186 |
vgPlain_sigdelset(& mask, 8); |
|
5186 |
vgPlain_sigdelset(& mask, 8); |
| 5187 |
vgPlain_sigdelset(& mask, 4); |
|
5187 |
vgPlain_sigdelset(& mask, 4); |
| 5188 |
vgPlain_sigdelset(& mask, 5); |
|
5188 |
vgPlain_sigdelset(& mask, 5); |
| 5189 |
vgPlain_sigdelset(& mask, 19); |
|
5189 |
vgPlain_sigdelset(& mask, 19); |
| 5190 |
vgPlain_sigdelset(& mask, 9); |
|
5190 |
vgPlain_sigdelset(& mask, 9); |
| 5191 |
vgPlain_sigprocmask(2, (vki_sigset_t const *)(& mask), |
|
5191 |
vgPlain_sigprocmask(2, (vki_sigset_t const *)(& mask), |
| 5192 |
(vki_sigset_t *)((void *)0)); |
|
5192 |
(vki_sigset_t *)((void *)0)); |
| 5193 |
return; |
|
5193 |
return; |
| 5194 |
} |
|
5194 |
} |
| 5195 |
} |
|
5195 |
} |
| 5196 |
static void os_state_clear(ThreadState *tst ) |
|
5196 |
static void os_state_clear(ThreadState *tst ) |
| 5197 |
{ |
|
5197 |
{ |
| 5198 |
|
|
5198 |
|
| 5199 |
|
|
5199 |
|
| 5200 |
{ |
|
5200 |
{ |
| 5201 |
tst->os_state.lwpid = 0; |
|
5201 |
tst->os_state.lwpid = 0; |
| 5202 |
tst->os_state.threadgroup = 0; |
|
5202 |
tst->os_state.threadgroup = 0; |
| 5203 |
return; |
|
5203 |
return; |
| 5204 |
} |
|
5204 |
} |
| 5205 |
} |
|
5205 |
} |
| 5206 |
static void os_state_init(ThreadState *tst ) |
|
5206 |
static void os_state_init(ThreadState *tst ) |
| 5207 |
{ |
|
5207 |
{ |
| 5208 |
|
|
5208 |
|
| 5209 |
|
|
5209 |
|
| 5210 |
{ |
|
5210 |
{ |
| 5211 |
tst->os_state.valgrind_stack_base = (Addr )0; |
|
5211 |
tst->os_state.valgrind_stack_base = (Addr )0; |
| 5212 |
tst->os_state.valgrind_stack_init_SP = (Addr )0; |
|
5212 |
tst->os_state.valgrind_stack_init_SP = (Addr )0; |
| 5213 |
os_state_clear(tst); |
|
5213 |
os_state_clear(tst); |
| 5214 |
return; |
|
5214 |
return; |
| 5215 |
} |
|
5215 |
} |
| 5216 |
} |
|
5216 |
} |
| 5217 |
static void mostly_clear_thread_record(ThreadId tid ) |
|
5217 |
static void mostly_clear_thread_record(ThreadId tid ) |
| 5218 |
{ |
|
5218 |
{ |
| 5219 |
vki_sigset_t savedmask ; |
|
5219 |
vki_sigset_t savedmask ; |
| 5220 |
int tmp ; |
|
5220 |
int tmp ; |
| 5221 |
long tmp___0 ; |
|
5221 |
long tmp___0 ; |
| 5222 |
|
|
5222 |
|
| 5223 |
{ |
|
5223 |
{ |
| 5224 |
if (tid >= 0U) { |
|
5224 |
if (tid >= 0U) { |
| 5225 |
if (tid < 500U) { |
|
5225 |
if (tid < 500U) { |
| 5226 |
tmp = 1; |
|
5226 |
tmp = 1; |
| 5227 |
} else { |
|
5227 |
} else { |
| 5228 |
tmp = 0; |
|
5228 |
tmp = 0; |
| 5229 |
} |
|
5229 |
} |
| 5230 |
} else { |
|
5230 |
} else { |
| 5231 |
tmp = 0; |
|
5231 |
tmp = 0; |
| 5232 |
} |
|
5232 |
} |
| 5233 |
tmp___0 = __builtin_expect((long )tmp, 1L); |
|
5233 |
tmp___0 = __builtin_expect((long )tmp, 1L); |
| 5234 |
if (tmp___0) { |
|
5234 |
if (tmp___0) { |
| 5235 |
|
|
5235 |
|
| 5236 |
} else { |
|
5236 |
} else { |
| 5237 |
vgPlain_assert_fail((Bool )1, |
|
5237 |
vgPlain_assert_fail((Bool )1, |
| 5238 |
(Char const *)"tid >= 0 && tid < VG_N_THREADS", |
|
5238 |
(Char const *)"tid >= 0 && tid < VG_N_THREADS", |
| 5239 |
(Char const *)"m_scheduler/scheduler.c", 462, |
|
5239 |
(Char const *)"m_scheduler/scheduler.c", 462, |
| 5240 |
(Char const *)"mostly_clear_thread_record", ""); |
|
5240 |
(Char const *)"mostly_clear_thread_record", ""); |
| 5241 |
} |
|
5241 |
} |
| 5242 |
vgPlain_cleanup_thread(& vgPlain_threads[tid].arch); |
|
5242 |
vgPlain_cleanup_thread(& vgPlain_threads[tid].arch); |
| 5243 |
vgPlain_threads[tid].tid = tid; |
|
5243 |
vgPlain_threads[tid].tid = tid; |
| 5244 |
vgPlain_threads[tid].status = (ThreadStatus )5; |
|
5244 |
vgPlain_threads[tid].status = (ThreadStatus )5; |
| 5245 |
vgPlain_sigemptyset(& vgPlain_threads[tid].sig_mask); |
|
5245 |
vgPlain_sigemptyset(& vgPlain_threads[tid].sig_mask); |
| 5246 |
vgPlain_sigemptyset(& vgPlain_threads[tid].tmp_sig_mask); |
|
5246 |
vgPlain_sigemptyset(& vgPlain_threads[tid].tmp_sig_mask); |
| 5247 |
os_state_clear(& vgPlain_threads[tid]); |
|
5247 |
os_state_clear(& vgPlain_threads[tid]); |
| 5248 |
vgPlain_threads[tid].altstack.ss_sp = (void *)3735928559U; |
|
5248 |
vgPlain_threads[tid].altstack.ss_sp = (void *)3735928559U; |
| 5249 |
vgPlain_threads[tid].altstack.ss_size = (vki_size_t )0; |
|
5249 |
vgPlain_threads[tid].altstack.ss_size = (vki_size_t )0; |
| 5250 |
vgPlain_threads[tid].altstack.ss_flags = 2; |
|
5250 |
vgPlain_threads[tid].altstack.ss_flags = 2; |
| 5251 |
vgPlain_clear_out_queued_signals(tid, & savedmask); |
|
5251 |
vgPlain_clear_out_queued_signals(tid, & savedmask); |
| 5252 |
vgPlain_threads[tid].sched_jmpbuf_valid = (Bool )0; |
|
5252 |
vgPlain_threads[tid].sched_jmpbuf_valid = (Bool )0; |
| 5253 |
return; |
|
5253 |
return; |
| 5254 |
} |
|
5254 |
} |
| 5255 |
} |
|
5255 |
} |
| 5256 |
static void sched_fork_cleanup(ThreadId me ) |
|
5256 |
static void sched_fork_cleanup(ThreadId me ) |
| 5257 |
{ |
|
5257 |
{ |
| 5258 |
ThreadId tid ; |
|
5258 |
ThreadId tid ; |
| 5259 |
long tmp ; |
|
5259 |
long tmp ; |
| 5260 |
|
|
5260 |
|
| 5261 |
{ |
|
5261 |
{ |
| 5262 |
tmp = __builtin_expect((long )(! (! (vgPlain_running_tid == me))), 1L); |
|
5262 |
tmp = __builtin_expect((long )(! (! (vgPlain_running_tid == me))), 1L); |
| 5263 |
if (tmp) { |
|
5263 |
if (tmp) { |
| 5264 |
|
|
5264 |
|
| 5265 |
} else { |
|
5265 |
} else { |
| 5266 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(running_tid) == me", |
|
5266 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(running_tid) == me", |
| 5267 |
(Char const *)"m_scheduler/scheduler.c", 505, |
|
5267 |
(Char const *)"m_scheduler/scheduler.c", 505, |
| 5268 |
(Char const *)"sched_fork_cleanup", ""); |
|
5268 |
(Char const *)"sched_fork_cleanup", ""); |
| 5269 |
} |
|
5269 |
} |
| 5270 |
vgPlain_threads[me].os_state.lwpid = vgPlain_gettid(); |
|
5270 |
vgPlain_threads[me].os_state.lwpid = vgPlain_gettid(); |
| 5271 |
vgPlain_threads[me].os_state.threadgroup = vgPlain_getpid(); |
|
5271 |
vgPlain_threads[me].os_state.threadgroup = vgPlain_getpid(); |
| 5272 |
tid = (ThreadId )1; |
|
5272 |
tid = (ThreadId )1; |
| 5273 |
while (tid < 500U) { |
|
5273 |
while (tid < 500U) { |
| 5274 |
if (tid != me) { |
|
5274 |
if (tid != me) { |
| 5275 |
mostly_clear_thread_record(tid); |
|
5275 |
mostly_clear_thread_record(tid); |
| 5276 |
vgPlain_threads[tid].status = (ThreadStatus )0; |
|
5276 |
vgPlain_threads[tid].status = (ThreadStatus )0; |
| 5277 |
vgPlain_clear_syscallInfo((Int )tid); |
|
5277 |
vgPlain_clear_syscallInfo((Int )tid); |
| 5278 |
} else { |
|
5278 |
} else { |
| 5279 |
|
|
5279 |
|
| 5280 |
} |
|
5280 |
} |
| 5281 |
tid ++; |
|
5281 |
tid ++; |
| 5282 |
} |
|
5282 |
} |
| 5283 |
vgModuleLocal_sema_deinit(& the_BigLock); |
|
5283 |
vgModuleLocal_sema_deinit(& the_BigLock); |
| 5284 |
vgModuleLocal_sema_init(& the_BigLock); |
|
5284 |
vgModuleLocal_sema_init(& the_BigLock); |
| 5285 |
vgModuleLocal_sema_down(& the_BigLock, (Bool )0); |
|
5285 |
vgModuleLocal_sema_down(& the_BigLock, (Bool )0); |
| 5286 |
return; |
|
5286 |
return; |
| 5287 |
} |
|
5287 |
} |
| 5288 |
} |
|
5288 |
} |
| 5289 |
ThreadId vgPlain_scheduler_init_phase1(void) |
|
5289 |
ThreadId vgPlain_scheduler_init_phase1(void) |
| 5290 |
{ |
|
5290 |
{ |
| 5291 |
Int i ; |
|
5291 |
Int i ; |
| 5292 |
ThreadId tid_main ; |
|
5292 |
ThreadId tid_main ; |
| 5293 |
long tmp ; |
|
5293 |
long tmp ; |
| 5294 |
|
|
5294 |
|
| 5295 |
{ |
|
5295 |
{ |
| 5296 |
vgPlain_debugLog(1, "sched", "sched_init_phase1\n"); |
|
5296 |
vgPlain_debugLog(1, "sched", "sched_init_phase1\n"); |
| 5297 |
vgModuleLocal_sema_init(& the_BigLock); |
|
5297 |
vgModuleLocal_sema_init(& the_BigLock); |
| 5298 |
i = 0; |
|
5298 |
i = 0; |
| 5299 |
while (i < 500) { |
|
5299 |
while (i < 500) { |
| 5300 |
vgPlain_memset((void *)(& vgPlain_threads[i]), 0, |
|
5300 |
vgPlain_memset((void *)(& vgPlain_threads[i]), 0, |
| 5301 |
(SizeT )sizeof(vgPlain_threads[i])); |
|
5301 |
(SizeT )sizeof(vgPlain_threads[i])); |
| 5302 |
vgPlain_threads[i].sig_queue = (struct SigQueue *)((void *)0); |
|
5302 |
vgPlain_threads[i].sig_queue = (struct SigQueue *)((void *)0); |
| 5303 |
os_state_init(& vgPlain_threads[i]); |
|
5303 |
os_state_init(& vgPlain_threads[i]); |
| 5304 |
mostly_clear_thread_record((ThreadId )i); |
|
5304 |
mostly_clear_thread_record((ThreadId )i); |
| 5305 |
vgPlain_threads[i].status = (ThreadStatus )0; |
|
5305 |
vgPlain_threads[i].status = (ThreadStatus )0; |
| 5306 |
vgPlain_threads[i].client_stack_szB = (SizeT )0; |
|
5306 |
vgPlain_threads[i].client_stack_szB = (SizeT )0; |
| 5307 |
vgPlain_threads[i].client_stack_highest_word = (Addr )((void *)0); |
|
5307 |
vgPlain_threads[i].client_stack_highest_word = (Addr )((void *)0); |
| 5308 |
i ++; |
|
5308 |
i ++; |
| 5309 |
} |
|
5309 |
} |
| 5310 |
tid_main = vgPlain_alloc_ThreadState(); |
|
5310 |
tid_main = vgPlain_alloc_ThreadState(); |
| 5311 |
tmp = __builtin_expect((long )(! (! (tid_main == 1U))), 1L); |
|
5311 |
tmp = __builtin_expect((long )(! (! (tid_main == 1U))), 1L); |
| 5312 |
if (tmp) { |
|
5312 |
if (tmp) { |
| 5313 |
|
|
5313 |
|
| 5314 |
} else { |
|
5314 |
} else { |
| 5315 |
vgPlain_assert_fail((Bool )1, (Char const *)"tid_main == 1", |
|
5315 |
vgPlain_assert_fail((Bool )1, (Char const *)"tid_main == 1", |
| 5316 |
(Char const *)"m_scheduler/scheduler.c", 566, |
|
5316 |
(Char const *)"m_scheduler/scheduler.c", 566, |
| 5317 |
(Char const *)"vgPlain_scheduler_init_phase1", ""); |
|
5317 |
(Char const *)"vgPlain_scheduler_init_phase1", ""); |
| 5318 |
} |
|
5318 |
} |
| 5319 |
return (tid_main); |
|
5319 |
return (tid_main); |
| 5320 |
} |
|
5320 |
} |
| 5321 |
} |
|
5321 |
} |
| 5322 |
void vgPlain_scheduler_init_phase2(ThreadId tid_main , Addr clstack_end , |
|
5322 |
void vgPlain_scheduler_init_phase2(ThreadId tid_main , Addr clstack_end , |
| 5323 |
SizeT clstack_size ) |
|
5323 |
SizeT clstack_size ) |
| 5324 |
{ |
|
5324 |
{ |
| 5325 |
long tmp ; |
|
5325 |
long tmp ; |
| 5326 |
long tmp___0 ; |
|
5326 |
long tmp___0 ; |
| 5327 |
|
|
5327 |
|
| 5328 |
{ |
|
5328 |
{ |
| 5329 |
vgPlain_debugLog(1, "sched", |
|
5329 |
vgPlain_debugLog(1, "sched", |
| 5330 |
"sched_init_phase2: tid_main=%d, cls_end=0x%lx, cls_sz=%ld\n", |
|
5330 |
"sched_init_phase2: tid_main=%d, cls_end=0x%lx, cls_sz=%ld\n", |
| 5331 |
tid_main, clstack_end, clstack_size); |
|
5331 |
tid_main, clstack_end, clstack_size); |
| 5332 |
tmp = __builtin_expect((long )(! (! (0UL == ((clstack_end + 1UL) & ((1UL << 12) - 1UL))))), |
|
5332 |
tmp = __builtin_expect((long )(! (! (0UL == ((clstack_end + 1UL) & ((1UL << 12) - 1UL))))), |
| 5333 |
1L); |
|
5333 |
1L); |
| 5334 |
if (tmp) { |
|
5334 |
if (tmp) { |
| 5335 |
|
|
5335 |
|
| 5336 |
} else { |
|
5336 |
} else { |
| 5337 |
vgPlain_assert_fail((Bool )1, |
|
5337 |
vgPlain_assert_fail((Bool )1, |
| 5338 |
(Char const *)"VG_IS_PAGE_ALIGNED(clstack_end+1)", |
|
5338 |
(Char const *)"VG_IS_PAGE_ALIGNED(clstack_end+1)", |
| 5339 |
(Char const *)"m_scheduler/scheduler.c", 586, |
|
5339 |
(Char const *)"m_scheduler/scheduler.c", 586, |
| 5340 |
(Char const *)"vgPlain_scheduler_init_phase2", ""); |
|
5340 |
(Char const *)"vgPlain_scheduler_init_phase2", ""); |
| 5341 |
} |
|
5341 |
} |
| 5342 |
tmp___0 = __builtin_expect((long )(! (! (0UL == (clstack_size & ((1UL << 12) - 1UL))))), |
|
5342 |
tmp___0 = __builtin_expect((long )(! (! (0UL == (clstack_size & ((1UL << 12) - 1UL))))), |
| 5343 |
1L); |
|
5343 |
1L); |
| 5344 |
if (tmp___0) { |
|
5344 |
if (tmp___0) { |
| 5345 |
|
|
5345 |
|
| 5346 |
} else { |
|
5346 |
} else { |
| 5347 |
vgPlain_assert_fail((Bool )1, |
|
5347 |
vgPlain_assert_fail((Bool )1, |
| 5348 |
(Char const *)"VG_IS_PAGE_ALIGNED(clstack_size)", |
|
5348 |
(Char const *)"VG_IS_PAGE_ALIGNED(clstack_size)", |
| 5349 |
(Char const *)"m_scheduler/scheduler.c", 587, |
|
5349 |
(Char const *)"m_scheduler/scheduler.c", 587, |
| 5350 |
(Char const *)"vgPlain_scheduler_init_phase2", ""); |
|
5350 |
(Char const *)"vgPlain_scheduler_init_phase2", ""); |
| 5351 |
} |
|
5351 |
} |
| 5352 |
vgPlain_threads[tid_main].client_stack_highest_word = (clstack_end + 1UL) - (Addr )sizeof(UWord ); |
|
5352 |
vgPlain_threads[tid_main].client_stack_highest_word = (clstack_end + 1UL) - (Addr )sizeof(UWord ); |
| 5353 |
vgPlain_threads[tid_main].client_stack_szB = clstack_size; |
|
5353 |
vgPlain_threads[tid_main].client_stack_szB = clstack_size; |
| 5354 |
vgPlain_atfork((void (*)(ThreadId ))((void *)0), |
|
5354 |
vgPlain_atfork((void (*)(ThreadId ))((void *)0), |
| 5355 |
(void (*)(ThreadId ))((void *)0), & sched_fork_cleanup); |
|
5355 |
(void (*)(ThreadId ))((void *)0), & sched_fork_cleanup); |
| 5356 |
return; |
|
5356 |
return; |
| 5357 |
} |
|
5357 |
} |
| 5358 |
} |
|
5358 |
} |
| 5359 |
static void do_pre_run_checks(ThreadState *tst ) |
|
5359 |
static void do_pre_run_checks(ThreadState *tst ) |
| 5360 |
{ |
|
5360 |
{ |
| 5361 |
Addr a_vex ; |
|
5361 |
Addr a_vex ; |
| 5362 |
Addr a_vexsh1 ; |
|
5362 |
Addr a_vexsh1 ; |
| 5363 |
Addr a_vexsh2 ; |
|
5363 |
Addr a_vexsh2 ; |
| 5364 |
Addr a_spill ; |
|
5364 |
Addr a_spill ; |
| 5365 |
UInt sz_vex ; |
|
5365 |
UInt sz_vex ; |
| 5366 |
UInt sz_vexsh1 ; |
|
5366 |
UInt sz_vexsh1 ; |
| 5367 |
UInt sz_vexsh2 ; |
|
5367 |
UInt sz_vexsh2 ; |
| 5368 |
UInt sz_spill ; |
|
5368 |
UInt sz_spill ; |
| 5369 |
long tmp ; |
|
5369 |
long tmp ; |
| 5370 |
long tmp___0 ; |
|
5370 |
long tmp___0 ; |
| 5371 |
long tmp___1 ; |
|
5371 |
long tmp___1 ; |
| 5372 |
long tmp___2 ; |
|
5372 |
long tmp___2 ; |
| 5373 |
long tmp___3 ; |
|
5373 |
long tmp___3 ; |
| 5374 |
long tmp___4 ; |
|
5374 |
long tmp___4 ; |
| 5375 |
long tmp___5 ; |
|
5375 |
long tmp___5 ; |
| 5376 |
long tmp___6 ; |
|
5376 |
long tmp___6 ; |
| 5377 |
long tmp___7 ; |
|
5377 |
long tmp___7 ; |
| 5378 |
long tmp___8 ; |
|
5378 |
long tmp___8 ; |
| 5379 |
long tmp___9 ; |
|
5379 |
long tmp___9 ; |
| 5380 |
long tmp___10 ; |
|
5380 |
long tmp___10 ; |
| 5381 |
long tmp___11 ; |
|
5381 |
long tmp___11 ; |
| 5382 |
long tmp___12 ; |
|
5382 |
long tmp___12 ; |
| 5383 |
|
|
5383 |
|
| 5384 |
{ |
|
5384 |
{ |
| 5385 |
a_vex = (Addr )(& tst->arch.vex); |
|
5385 |
a_vex = (Addr )(& tst->arch.vex); |
| 5386 |
a_vexsh1 = (Addr )(& tst->arch.vex_shadow1); |
|
5386 |
a_vexsh1 = (Addr )(& tst->arch.vex_shadow1); |
| 5387 |
a_vexsh2 = (Addr )(& tst->arch.vex_shadow2); |
|
5387 |
a_vexsh2 = (Addr )(& tst->arch.vex_shadow2); |
| 5388 |
a_spill = (Addr )(& tst->arch.vex_spill); |
|
5388 |
a_spill = (Addr )(& tst->arch.vex_spill); |
| 5389 |
sz_vex = sizeof(tst->arch.vex); |
|
5389 |
sz_vex = sizeof(tst->arch.vex); |
| 5390 |
sz_vexsh1 = sizeof(tst->arch.vex_shadow1); |
|
5390 |
sz_vexsh1 = sizeof(tst->arch.vex_shadow1); |
| 5391 |
sz_vexsh2 = sizeof(tst->arch.vex_shadow2); |
|
5391 |
sz_vexsh2 = sizeof(tst->arch.vex_shadow2); |
| 5392 |
sz_spill = sizeof(tst->arch.vex_spill); |
|
5392 |
sz_spill = sizeof(tst->arch.vex_spill); |
| 5393 |
tmp = __builtin_expect((long )(! (! (0UL == ((Addr )sz_vex & 15UL)))), 1L); |
|
5393 |
tmp = __builtin_expect((long )(! (! (0UL == ((Addr )sz_vex & 15UL)))), 1L); |
| 5394 |
if (tmp) { |
|
5394 |
if (tmp) { |
| 5395 |
|
|
5395 |
|
| 5396 |
} else { |
|
5396 |
} else { |
| 5397 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(sz_vex)", |
|
5397 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(sz_vex)", |
| 5398 |
(Char const *)"m_scheduler/scheduler.c", 647, |
|
5398 |
(Char const *)"m_scheduler/scheduler.c", 647, |
| 5399 |
(Char const *)"do_pre_run_checks", ""); |
|
5399 |
(Char const *)"do_pre_run_checks", ""); |
| 5400 |
} |
|
5400 |
} |
| 5401 |
tmp___0 = __builtin_expect((long )(! (! (0UL == ((Addr )sz_vexsh1 & 15UL)))), |
|
5401 |
tmp___0 = __builtin_expect((long )(! (! (0UL == ((Addr )sz_vexsh1 & 15UL)))), |
| 5402 |
1L); |
|
5402 |
1L); |
| 5403 |
if (tmp___0) { |
|
5403 |
if (tmp___0) { |
| 5404 |
|
|
5404 |
|
| 5405 |
} else { |
|
5405 |
} else { |
| 5406 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(sz_vexsh1)", |
|
5406 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(sz_vexsh1)", |
| 5407 |
(Char const *)"m_scheduler/scheduler.c", 648, |
|
5407 |
(Char const *)"m_scheduler/scheduler.c", 648, |
| 5408 |
(Char const *)"do_pre_run_checks", ""); |
|
5408 |
(Char const *)"do_pre_run_checks", ""); |
| 5409 |
} |
|
5409 |
} |
| 5410 |
tmp___1 = __builtin_expect((long )(! (! (0UL == ((Addr )sz_vexsh2 & 15UL)))), |
|
5410 |
tmp___1 = __builtin_expect((long )(! (! (0UL == ((Addr )sz_vexsh2 & 15UL)))), |
| 5411 |
1L); |
|
5411 |
1L); |
| 5412 |
if (tmp___1) { |
|
5412 |
if (tmp___1) { |
| 5413 |
|
|
5413 |
|
| 5414 |
} else { |
|
5414 |
} else { |
| 5415 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(sz_vexsh2)", |
|
5415 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(sz_vexsh2)", |
| 5416 |
(Char const *)"m_scheduler/scheduler.c", 649, |
|
5416 |
(Char const *)"m_scheduler/scheduler.c", 649, |
| 5417 |
(Char const *)"do_pre_run_checks", ""); |
|
5417 |
(Char const *)"do_pre_run_checks", ""); |
| 5418 |
} |
|
5418 |
} |
| 5419 |
tmp___2 = __builtin_expect((long )(! (! (0UL == ((Addr )sz_spill & 15UL)))), |
|
5419 |
tmp___2 = __builtin_expect((long )(! (! (0UL == ((Addr )sz_spill & 15UL)))), |
| 5420 |
1L); |
|
5420 |
1L); |
| 5421 |
if (tmp___2) { |
|
5421 |
if (tmp___2) { |
| 5422 |
|
|
5422 |
|
| 5423 |
} else { |
|
5423 |
} else { |
| 5424 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(sz_spill)", |
|
5424 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(sz_spill)", |
| 5425 |
(Char const *)"m_scheduler/scheduler.c", 650, |
|
5425 |
(Char const *)"m_scheduler/scheduler.c", 650, |
| 5426 |
(Char const *)"do_pre_run_checks", ""); |
|
5426 |
(Char const *)"do_pre_run_checks", ""); |
| 5427 |
} |
|
5427 |
} |
| 5428 |
tmp___3 = __builtin_expect((long )(! (! (0UL == (a_vex & 15UL)))), 1L); |
|
5428 |
tmp___3 = __builtin_expect((long )(! (! (0UL == (a_vex & 15UL)))), 1L); |
| 5429 |
if (tmp___3) { |
|
5429 |
if (tmp___3) { |
| 5430 |
|
|
5430 |
|
| 5431 |
} else { |
|
5431 |
} else { |
| 5432 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(a_vex)", |
|
5432 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(a_vex)", |
| 5433 |
(Char const *)"m_scheduler/scheduler.c", 652, |
|
5433 |
(Char const *)"m_scheduler/scheduler.c", 652, |
| 5434 |
(Char const *)"do_pre_run_checks", ""); |
|
5434 |
(Char const *)"do_pre_run_checks", ""); |
| 5435 |
} |
|
5435 |
} |
| 5436 |
tmp___4 = __builtin_expect((long )(! (! (0UL == (a_vexsh1 & 15UL)))), 1L); |
|
5436 |
tmp___4 = __builtin_expect((long )(! (! (0UL == (a_vexsh1 & 15UL)))), 1L); |
| 5437 |
if (tmp___4) { |
|
5437 |
if (tmp___4) { |
| 5438 |
|
|
5438 |
|
| 5439 |
} else { |
|
5439 |
} else { |
| 5440 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(a_vexsh1)", |
|
5440 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(a_vexsh1)", |
| 5441 |
(Char const *)"m_scheduler/scheduler.c", 653, |
|
5441 |
(Char const *)"m_scheduler/scheduler.c", 653, |
| 5442 |
(Char const *)"do_pre_run_checks", ""); |
|
5442 |
(Char const *)"do_pre_run_checks", ""); |
| 5443 |
} |
|
5443 |
} |
| 5444 |
tmp___5 = __builtin_expect((long )(! (! (0UL == (a_vexsh2 & 15UL)))), 1L); |
|
5444 |
tmp___5 = __builtin_expect((long )(! (! (0UL == (a_vexsh2 & 15UL)))), 1L); |
| 5445 |
if (tmp___5) { |
|
5445 |
if (tmp___5) { |
| 5446 |
|
|
5446 |
|
| 5447 |
} else { |
|
5447 |
} else { |
| 5448 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(a_vexsh2)", |
|
5448 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(a_vexsh2)", |
| 5449 |
(Char const *)"m_scheduler/scheduler.c", 654, |
|
5449 |
(Char const *)"m_scheduler/scheduler.c", 654, |
| 5450 |
(Char const *)"do_pre_run_checks", ""); |
|
5450 |
(Char const *)"do_pre_run_checks", ""); |
| 5451 |
} |
|
5451 |
} |
| 5452 |
tmp___6 = __builtin_expect((long )(! (! (0UL == (a_spill & 15UL)))), 1L); |
|
5452 |
tmp___6 = __builtin_expect((long )(! (! (0UL == (a_spill & 15UL)))), 1L); |
| 5453 |
if (tmp___6) { |
|
5453 |
if (tmp___6) { |
| 5454 |
|
|
5454 |
|
| 5455 |
} else { |
|
5455 |
} else { |
| 5456 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(a_spill)", |
|
5456 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_IS_16_ALIGNED(a_spill)", |
| 5457 |
(Char const *)"m_scheduler/scheduler.c", 655, |
|
5457 |
(Char const *)"m_scheduler/scheduler.c", 655, |
| 5458 |
(Char const *)"do_pre_run_checks", ""); |
|
5458 |
(Char const *)"do_pre_run_checks", ""); |
| 5459 |
} |
|
5459 |
} |
| 5460 |
tmp___7 = __builtin_expect((long )(! (! (sz_vex == sz_vexsh1))), 1L); |
|
5460 |
tmp___7 = __builtin_expect((long )(! (! (sz_vex == sz_vexsh1))), 1L); |
| 5461 |
if (tmp___7) { |
|
5461 |
if (tmp___7) { |
| 5462 |
|
|
5462 |
|
| 5463 |
} else { |
|
5463 |
} else { |
| 5464 |
vgPlain_assert_fail((Bool )1, (Char const *)"sz_vex == sz_vexsh1", |
|
5464 |
vgPlain_assert_fail((Bool )1, (Char const *)"sz_vex == sz_vexsh1", |
| 5465 |
(Char const *)"m_scheduler/scheduler.c", 662, |
|
5465 |
(Char const *)"m_scheduler/scheduler.c", 662, |
| 5466 |
(Char const *)"do_pre_run_checks", ""); |
|
5466 |
(Char const *)"do_pre_run_checks", ""); |
| 5467 |
} |
|
5467 |
} |
| 5468 |
tmp___8 = __builtin_expect((long )(! (! (sz_vex == sz_vexsh2))), 1L); |
|
5468 |
tmp___8 = __builtin_expect((long )(! (! (sz_vex == sz_vexsh2))), 1L); |
| 5469 |
if (tmp___8) { |
|
5469 |
if (tmp___8) { |
| 5470 |
|
|
5470 |
|
| 5471 |
} else { |
|
5471 |
} else { |
| 5472 |
vgPlain_assert_fail((Bool )1, (Char const *)"sz_vex == sz_vexsh2", |
|
5472 |
vgPlain_assert_fail((Bool )1, (Char const *)"sz_vex == sz_vexsh2", |
| 5473 |
(Char const *)"m_scheduler/scheduler.c", 663, |
|
5473 |
(Char const *)"m_scheduler/scheduler.c", 663, |
| 5474 |
(Char const *)"do_pre_run_checks", ""); |
|
5474 |
(Char const *)"do_pre_run_checks", ""); |
| 5475 |
} |
|
5475 |
} |
| 5476 |
tmp___9 = __builtin_expect((long )(! (! (a_vex + (Addr )sz_vex == a_vexsh1))), |
|
5476 |
tmp___9 = __builtin_expect((long )(! (! (a_vex + (Addr )sz_vex == a_vexsh1))), |
| 5477 |
1L); |
|
5477 |
1L); |
| 5478 |
if (tmp___9) { |
|
5478 |
if (tmp___9) { |
| 5479 |
|
|
5479 |
|
| 5480 |
} else { |
|
5480 |
} else { |
| 5481 |
vgPlain_assert_fail((Bool )1, |
|
5481 |
vgPlain_assert_fail((Bool )1, |
| 5482 |
(Char const *)"a_vex + 1 * sz_vex == a_vexsh1", |
|
5482 |
(Char const *)"a_vex + 1 * sz_vex == a_vexsh1", |
| 5483 |
(Char const *)"m_scheduler/scheduler.c", 664, |
|
5483 |
(Char const *)"m_scheduler/scheduler.c", 664, |
| 5484 |
(Char const *)"do_pre_run_checks", ""); |
|
5484 |
(Char const *)"do_pre_run_checks", ""); |
| 5485 |
} |
|
5485 |
} |
| 5486 |
tmp___10 = __builtin_expect((long )(! (! (a_vex + (Addr )(2U * sz_vex) == a_vexsh2))), |
|
5486 |
tmp___10 = __builtin_expect((long )(! (! (a_vex + (Addr )(2U * sz_vex) == a_vexsh2))), |
| 5487 |
1L); |
|
5487 |
1L); |
| 5488 |
if (tmp___10) { |
|
5488 |
if (tmp___10) { |
| 5489 |
|
|
5489 |
|
| 5490 |
} else { |
|
5490 |
} else { |
| 5491 |
vgPlain_assert_fail((Bool )1, |
|
5491 |
vgPlain_assert_fail((Bool )1, |
| 5492 |
(Char const *)"a_vex + 2 * sz_vex == a_vexsh2", |
|
5492 |
(Char const *)"a_vex + 2 * sz_vex == a_vexsh2", |
| 5493 |
(Char const *)"m_scheduler/scheduler.c", 665, |
|
5493 |
(Char const *)"m_scheduler/scheduler.c", 665, |
| 5494 |
(Char const *)"do_pre_run_checks", ""); |
|
5494 |
(Char const *)"do_pre_run_checks", ""); |
| 5495 |
} |
|
5495 |
} |
| 5496 |
tmp___11 = __builtin_expect((long )(! (! (sz_spill == 4096U))), 1L); |
|
5496 |
tmp___11 = __builtin_expect((long )(! (! (sz_spill == 4096U))), 1L); |
| 5497 |
if (tmp___11) { |
|
5497 |
if (tmp___11) { |
| 5498 |
|
|
5498 |
|
| 5499 |
} else { |
|
5499 |
} else { |
| 5500 |
vgPlain_assert_fail((Bool )1, |
|
5500 |
vgPlain_assert_fail((Bool )1, |
| 5501 |
(Char const *)"sz_spill == LibVEX_N_SPILL_BYTES", |
|
5501 |
(Char const *)"sz_spill == LibVEX_N_SPILL_BYTES", |
| 5502 |
(Char const *)"m_scheduler/scheduler.c", 668, |
|
5502 |
(Char const *)"m_scheduler/scheduler.c", 668, |
| 5503 |
(Char const *)"do_pre_run_checks", ""); |
|
5503 |
(Char const *)"do_pre_run_checks", ""); |
| 5504 |
} |
|
5504 |
} |
| 5505 |
tmp___12 = __builtin_expect((long )(! (! (a_vex + (Addr )(3U * sz_vex) == a_spill))), |
|
5505 |
tmp___12 = __builtin_expect((long )(! (! (a_vex + (Addr )(3U * sz_vex) == a_spill))), |
| 5506 |
1L); |
|
5506 |
1L); |
| 5507 |
if (tmp___12) { |
|
5507 |
if (tmp___12) { |
| 5508 |
|
|
5508 |
|
| 5509 |
} else { |
|
5509 |
} else { |
| 5510 |
vgPlain_assert_fail((Bool )1, |
|
5510 |
vgPlain_assert_fail((Bool )1, |
| 5511 |
(Char const *)"a_vex + 3 * sz_vex == a_spill", |
|
5511 |
(Char const *)"a_vex + 3 * sz_vex == a_spill", |
| 5512 |
(Char const *)"m_scheduler/scheduler.c", 669, |
|
5512 |
(Char const *)"m_scheduler/scheduler.c", 669, |
| 5513 |
(Char const *)"do_pre_run_checks", ""); |
|
5513 |
(Char const *)"do_pre_run_checks", ""); |
| 5514 |
} |
|
5514 |
} |
| 5515 |
return; |
|
5515 |
return; |
| 5516 |
} |
|
5516 |
} |
| 5517 |
} |
|
5517 |
} |
| 5518 |
void vgPlain_disable_vgdb_poll(void) |
|
5518 |
void vgPlain_disable_vgdb_poll(void) |
| 5519 |
{ |
|
5519 |
{ |
| 5520 |
|
|
5520 |
|
| 5521 |
|
|
5521 |
|
| 5522 |
{ |
|
5522 |
{ |
| 5523 |
vgdb_next_poll = 0xffffffffffffffffULL; |
|
5523 |
vgdb_next_poll = 0xffffffffffffffffULL; |
| 5524 |
return; |
|
5524 |
return; |
| 5525 |
} |
|
5525 |
} |
| 5526 |
} |
|
5526 |
} |
| 5527 |
void vgPlain_force_vgdb_poll(void) |
|
5527 |
void vgPlain_force_vgdb_poll(void) |
| 5528 |
{ |
|
5528 |
{ |
| 5529 |
|
|
5529 |
|
| 5530 |
|
|
5530 |
|
| 5531 |
{ |
|
5531 |
{ |
| 5532 |
vgdb_next_poll = 0ULL; |
|
5532 |
vgdb_next_poll = 0ULL; |
| 5533 |
return; |
|
5533 |
return; |
| 5534 |
} |
|
5534 |
} |
| 5535 |
} |
|
5535 |
} |
| 5536 |
extern int ( __builtin_setjmp)() ; |
|
5536 |
extern int ( __builtin_setjmp)() ; |
| 5537 |
static UInt run_thread_for_a_while(ThreadId tid ) |
|
5537 |
static UInt run_thread_for_a_while(ThreadId tid ) |
| 5538 |
{ |
|
5538 |
{ |
| 5539 |
Int volatile jumped ; |
|
5539 |
Int volatile jumped ; |
| 5540 |
ThreadState volatile *tst ; |
|
5540 |
ThreadState volatile *tst ; |
| 5541 |
UInt volatile trc ; |
|
5541 |
UInt volatile trc ; |
| 5542 |
Int volatile dispatch_ctr_SAVED ; |
|
5542 |
Int volatile dispatch_ctr_SAVED ; |
| 5543 |
Int volatile done_this_time ; |
|
5543 |
Int volatile done_this_time ; |
| 5544 |
Bool tmp ; |
|
5544 |
Bool tmp ; |
| 5545 |
int tmp___0 ; |
|
5545 |
int tmp___0 ; |
| 5546 |
long tmp___1 ; |
|
5546 |
long tmp___1 ; |
| 5547 |
Bool tmp___2 ; |
|
5547 |
Bool tmp___2 ; |
| 5548 |
int tmp___3 ; |
|
5548 |
int tmp___3 ; |
| 5549 |
long tmp___4 ; |
|
5549 |
long tmp___4 ; |
| 5550 |
Bool tmp___5 ; |
|
5550 |
Bool tmp___5 ; |
| 5551 |
int tmp___6 ; |
|
5551 |
int tmp___6 ; |
| 5552 |
long tmp___7 ; |
|
5552 |
long tmp___7 ; |
| 5553 |
ThreadState *tmp___8 ; |
|
5553 |
ThreadState *tmp___8 ; |
| 5554 |
vki_sigset_t m ; |
|
5554 |
vki_sigset_t m ; |
| 5555 |
Int i ; |
|
5555 |
Int i ; |
| 5556 |
Int err ; |
|
5556 |
Int err ; |
| 5557 |
Int tmp___9 ; |
|
5557 |
Int tmp___9 ; |
| 5558 |
long tmp___10 ; |
|
5558 |
long tmp___10 ; |
| 5559 |
Int tmp___11 ; |
|
5559 |
Int tmp___11 ; |
| 5560 |
long tmp___12 ; |
|
5560 |
long tmp___12 ; |
| 5561 |
ThreadState * volatile _qq_tst ; |
|
5561 |
ThreadState * volatile _qq_tst ; |
| 5562 |
ThreadState *tmp___13 ; |
|
5562 |
ThreadState *tmp___13 ; |
| 5563 |
int tmp___14 ; |
|
5563 |
int tmp___14 ; |
| 5564 |
long tmp___15 ; |
|
5564 |
long tmp___15 ; |
| 5565 |
int tmp___16 ; |
|
5565 |
int tmp___16 ; |
| 5566 |
UWord tmp___17 ; |
|
5566 |
UWord tmp___17 ; |
| 5567 |
long tmp___18 ; |
|
5567 |
long tmp___18 ; |
| 5568 |
long tmp___19 ; |
|
5568 |
long tmp___19 ; |
| 5569 |
long tmp___20 ; |
|
5569 |
long tmp___20 ; |
| 5570 |
long tmp___21 ; |
|
5570 |
long tmp___21 ; |
| 5571 |
Bool tmp___22 ; |
|
5571 |
Bool tmp___22 ; |
| 5572 |
|
|
5572 |
|
| 5573 |
{ |
|
5573 |
{ |
| 5574 |
tst = (ThreadState volatile *)((void *)0); |
|
5574 |
tst = (ThreadState volatile *)((void *)0); |
| 5575 |
tmp = vgPlain_is_valid_tid(tid); |
|
5575 |
tmp = vgPlain_is_valid_tid(tid); |
| 5576 |
if (tmp) { |
|
5576 |
if (tmp) { |
| 5577 |
tmp___0 = 1; |
|
5577 |
tmp___0 = 1; |
| 5578 |
} else { |
|
5578 |
} else { |
| 5579 |
tmp___0 = 0; |
|
5579 |
tmp___0 = 0; |
| 5580 |
} |
|
5580 |
} |
| 5581 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
|
5581 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
| 5582 |
if (tmp___1) { |
|
5582 |
if (tmp___1) { |
| 5583 |
|
|
5583 |
|
| 5584 |
} else { |
|
5584 |
} else { |
| 5585 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_valid_tid)(tid)", |
|
5585 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_valid_tid)(tid)", |
| 5586 |
(Char const *)"m_scheduler/scheduler.c", 736, |
|
5586 |
(Char const *)"m_scheduler/scheduler.c", 736, |
| 5587 |
(Char const *)"run_thread_for_a_while", ""); |
|
5587 |
(Char const *)"run_thread_for_a_while", ""); |
| 5588 |
} |
|
5588 |
} |
| 5589 |
tmp___2 = vgPlain_is_running_thread(tid); |
|
5589 |
tmp___2 = vgPlain_is_running_thread(tid); |
| 5590 |
if (tmp___2) { |
|
5590 |
if (tmp___2) { |
| 5591 |
tmp___3 = 1; |
|
5591 |
tmp___3 = 1; |
| 5592 |
} else { |
|
5592 |
} else { |
| 5593 |
tmp___3 = 0; |
|
5593 |
tmp___3 = 0; |
| 5594 |
} |
|
5594 |
} |
| 5595 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
|
5595 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
| 5596 |
if (tmp___4) { |
|
5596 |
if (tmp___4) { |
| 5597 |
|
|
5597 |
|
| 5598 |
} else { |
|
5598 |
} else { |
| 5599 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
|
5599 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
| 5600 |
(Char const *)"m_scheduler/scheduler.c", 737, |
|
5600 |
(Char const *)"m_scheduler/scheduler.c", 737, |
| 5601 |
(Char const *)"run_thread_for_a_while", ""); |
|
5601 |
(Char const *)"run_thread_for_a_while", ""); |
| 5602 |
} |
|
5602 |
} |
| 5603 |
tmp___5 = vgPlain_is_exiting(tid); |
|
5603 |
tmp___5 = vgPlain_is_exiting(tid); |
| 5604 |
if (tmp___5) { |
|
5604 |
if (tmp___5) { |
| 5605 |
tmp___6 = 0; |
|
5605 |
tmp___6 = 0; |
| 5606 |
} else { |
|
5606 |
} else { |
| 5607 |
tmp___6 = 1; |
|
5607 |
tmp___6 = 1; |
| 5608 |
} |
|
5608 |
} |
| 5609 |
tmp___7 = __builtin_expect((long )tmp___6, 1L); |
|
5609 |
tmp___7 = __builtin_expect((long )tmp___6, 1L); |
| 5610 |
if (tmp___7) { |
|
5610 |
if (tmp___7) { |
| 5611 |
|
|
5611 |
|
| 5612 |
} else { |
|
5612 |
} else { |
| 5613 |
vgPlain_assert_fail((Bool )1, (Char const *)"!VG_(is_exiting)(tid)", |
|
5613 |
vgPlain_assert_fail((Bool )1, (Char const *)"!VG_(is_exiting)(tid)", |
| 5614 |
(Char const *)"m_scheduler/scheduler.c", 738, |
|
5614 |
(Char const *)"m_scheduler/scheduler.c", 738, |
| 5615 |
(Char const *)"run_thread_for_a_while", ""); |
|
5615 |
(Char const *)"run_thread_for_a_while", ""); |
| 5616 |
} |
|
5616 |
} |
| 5617 |
tmp___8 = vgPlain_get_ThreadState(tid); |
|
5617 |
tmp___8 = vgPlain_get_ThreadState(tid); |
| 5618 |
tst = (ThreadState volatile *)tmp___8; |
|
5618 |
tst = (ThreadState volatile *)tmp___8; |
| 5619 |
do_pre_run_checks((ThreadState *)tst); |
|
5619 |
do_pre_run_checks((ThreadState *)tst); |
| 5620 |
trc = (UInt volatile )0; |
|
5620 |
trc = (UInt volatile )0; |
| 5621 |
dispatch_ctr_SAVED = (Int volatile )vgPlain_dispatch_ctr; |
|
5621 |
dispatch_ctr_SAVED = (Int volatile )vgPlain_dispatch_ctr; |
| 5622 |
while (1) { |
|
5622 |
while (1) { |
| 5623 |
if (vgPlain_tdict.track_start_client_code) { |
|
5623 |
if (vgPlain_tdict.track_start_client_code) { |
| 5624 |
(*(vgPlain_tdict.track_start_client_code))(tid, bbs_done); |
|
5624 |
(*(vgPlain_tdict.track_start_client_code))(tid, bbs_done); |
| 5625 |
} else { |
|
5625 |
} else { |
| 5626 |
|
|
5626 |
|
| 5627 |
} |
|
5627 |
} |
| 5628 |
break; |
|
5628 |
break; |
| 5629 |
} |
|
5629 |
} |
| 5630 |
tmp___12 = __builtin_expect((long )(! (! ((int )vgPlain_in_generated_code == 0))), |
|
5630 |
tmp___12 = __builtin_expect((long )(! (! ((int )vgPlain_in_generated_code == 0))), |
| 5631 |
1L); |
|
5631 |
1L); |
| 5632 |
if (tmp___12) { |
|
5632 |
if (tmp___12) { |
| 5633 |
|
|
5633 |
|
| 5634 |
} else { |
|
5634 |
} else { |
| 5635 |
vgPlain_assert_fail((Bool )1, |
|
5635 |
vgPlain_assert_fail((Bool )1, |
| 5636 |
(Char const *)"VG_(in_generated_code) == False", |
|
5636 |
(Char const *)"VG_(in_generated_code) == False", |
| 5637 |
(Char const *)"m_scheduler/scheduler.c", 780, |
|
5637 |
(Char const *)"m_scheduler/scheduler.c", 780, |
| 5638 |
(Char const *)"run_thread_for_a_while", ""); |
|
5638 |
(Char const *)"run_thread_for_a_while", ""); |
| 5639 |
} |
|
5639 |
} |
| 5640 |
vgPlain_in_generated_code = (Bool )1; |
|
5640 |
vgPlain_in_generated_code = (Bool )1; |
| 5641 |
while (1) { |
|
5641 |
while (1) { |
| 5642 |
tmp___13 = vgPlain_get_ThreadState(tid); |
|
5642 |
tmp___13 = vgPlain_get_ThreadState(tid); |
| 5643 |
_qq_tst = (ThreadState *)tmp___13; |
|
5643 |
_qq_tst = (ThreadState *)tmp___13; |
| 5644 |
tmp___14 = __builtin_setjmp(_qq_tst->sched_jmpbuf); |
|
5644 |
tmp___14 = __builtin_setjmp(_qq_tst->sched_jmpbuf); |
| 5645 |
jumped = (Int volatile )tmp___14; |
|
5645 |
jumped = (Int volatile )tmp___14; |
| 5646 |
if (jumped == (Int volatile )0) { |
|
5646 |
if (jumped == (Int volatile )0) { |
| 5647 |
tmp___15 = __builtin_expect((long )(! (! (! _qq_tst->sched_jmpbuf_valid))), |
|
5647 |
tmp___15 = __builtin_expect((long )(! (! (! _qq_tst->sched_jmpbuf_valid))), |
| 5648 |
1L); |
|
5648 |
1L); |
| 5649 |
if (tmp___15) { |
|
5649 |
if (tmp___15) { |
| 5650 |
|
|
5650 |
|
| 5651 |
} else { |
|
5651 |
} else { |
| 5652 |
vgPlain_assert_fail((Bool )1, |
|
5652 |
vgPlain_assert_fail((Bool )1, |
| 5653 |
(Char const *)"!_qq_tst->sched_jmpbuf_valid", |
|
5653 |
(Char const *)"!_qq_tst->sched_jmpbuf_valid", |
| 5654 |
(Char const *)"m_scheduler/scheduler.c", 788, |
|
5654 |
(Char const *)"m_scheduler/scheduler.c", 788, |
| 5655 |
(Char const *)"run_thread_for_a_while", ""); |
|
5655 |
(Char const *)"run_thread_for_a_while", ""); |
| 5656 |
} |
|
5656 |
} |
| 5657 |
_qq_tst->sched_jmpbuf_valid = (Bool )1; |
|
5657 |
_qq_tst->sched_jmpbuf_valid = (Bool )1; |
| 5658 |
if ((int )vgPlain_clo_profile_flags > 0) { |
|
5658 |
if ((int )vgPlain_clo_profile_flags > 0) { |
| 5659 |
tmp___16 = 1; |
|
5659 |
tmp___16 = 1; |
| 5660 |
} else { |
|
5660 |
} else { |
| 5661 |
tmp___16 = 0; |
|
5661 |
tmp___16 = 0; |
| 5662 |
} |
|
5662 |
} |
| 5663 |
tmp___17 = vgPlain_run_innerloop((void *)(& tst->arch.vex), |
|
5663 |
tmp___17 = vgPlain_run_innerloop((void *)(& tst->arch.vex), |
| 5664 |
(UWord )tmp___16); |
|
5664 |
(UWord )tmp___16); |
| 5665 |
trc = (UInt volatile )((UInt )tmp___17); |
|
5665 |
trc = (UInt volatile )((UInt )tmp___17); |
| 5666 |
} else |
|
5666 |
} else |
| 5667 |
if (vgPlain_clo_trace_sched) { |
|
5667 |
if (vgPlain_clo_trace_sched) { |
| 5668 |
vgPlain_printf("SCHEDSETJMP(line %d) tid %d, jumped=%d\n", 788, tid, |
|
5668 |
vgPlain_printf("SCHEDSETJMP(line %d) tid %d, jumped=%d\n", 788, tid, |
| 5669 |
jumped); |
|
5669 |
jumped); |
| 5670 |
} else { |
|
5670 |
} else { |
| 5671 |
|
|
5671 |
|
| 5672 |
} |
|
5672 |
} |
| 5673 |
tmp___18 = __builtin_expect((long )(! (! _qq_tst->sched_jmpbuf_valid)), 1L); |
|
5673 |
tmp___18 = __builtin_expect((long )(! (! _qq_tst->sched_jmpbuf_valid)), 1L); |
| 5674 |
if (tmp___18) { |
|
5674 |
if (tmp___18) { |
| 5675 |
|
|
5675 |
|
| 5676 |
} else { |
|
5676 |
} else { |
| 5677 |
vgPlain_assert_fail((Bool )1, |
|
5677 |
vgPlain_assert_fail((Bool )1, |
| 5678 |
(Char const *)"_qq_tst->sched_jmpbuf_valid", |
|
5678 |
(Char const *)"_qq_tst->sched_jmpbuf_valid", |
| 5679 |
(Char const *)"m_scheduler/scheduler.c", 788, |
|
5679 |
(Char const *)"m_scheduler/scheduler.c", 788, |
| 5680 |
(Char const *)"run_thread_for_a_while", ""); |
|
5680 |
(Char const *)"run_thread_for_a_while", ""); |
| 5681 |
} |
|
5681 |
} |
| 5682 |
_qq_tst->sched_jmpbuf_valid = (Bool )0; |
|
5682 |
_qq_tst->sched_jmpbuf_valid = (Bool )0; |
| 5683 |
break; |
|
5683 |
break; |
| 5684 |
} |
|
5684 |
} |
| 5685 |
tmp___19 = __builtin_expect((long )(! (! ((int )vgPlain_in_generated_code == 1))), |
|
5685 |
tmp___19 = __builtin_expect((long )(! (! ((int )vgPlain_in_generated_code == 1))), |
| 5686 |
1L); |
|
5686 |
1L); |
| 5687 |
if (tmp___19) { |
|
5687 |
if (tmp___19) { |
| 5688 |
|
|
5688 |
|
| 5689 |
} else { |
|
5689 |
} else { |
| 5690 |
vgPlain_assert_fail((Bool )1, |
|
5690 |
vgPlain_assert_fail((Bool )1, |
| 5691 |
(Char const *)"VG_(in_generated_code) == True", |
|
5691 |
(Char const *)"VG_(in_generated_code) == True", |
| 5692 |
(Char const *)"m_scheduler/scheduler.c", 790, |
|
5692 |
(Char const *)"m_scheduler/scheduler.c", 790, |
| 5693 |
(Char const *)"run_thread_for_a_while", ""); |
|
5693 |
(Char const *)"run_thread_for_a_while", ""); |
| 5694 |
} |
|
5694 |
} |
| 5695 |
vgPlain_in_generated_code = (Bool )0; |
|
5695 |
vgPlain_in_generated_code = (Bool )0; |
| 5696 |
if (jumped) { |
|
5696 |
if (jumped) { |
| 5697 |
tmp___20 = __builtin_expect((long )(! (! (trc == (UInt volatile )0))), 1L); |
|
5697 |
tmp___20 = __builtin_expect((long )(! (! (trc == (UInt volatile )0))), 1L); |
| 5698 |
if (tmp___20) { |
|
5698 |
if (tmp___20) { |
| 5699 |
|
|
5699 |
|
| 5700 |
} else { |
|
5700 |
} else { |
| 5701 |
vgPlain_assert_fail((Bool )1, (Char const *)"trc == 0", |
|
5701 |
vgPlain_assert_fail((Bool )1, (Char const *)"trc == 0", |
| 5702 |
(Char const *)"m_scheduler/scheduler.c", 796, |
|
5702 |
(Char const *)"m_scheduler/scheduler.c", 796, |
| 5703 |
(Char const *)"run_thread_for_a_while", ""); |
|
5703 |
(Char const *)"run_thread_for_a_while", ""); |
| 5704 |
} |
|
5704 |
} |
| 5705 |
trc = (UInt volatile )43; |
|
5705 |
trc = (UInt volatile )43; |
| 5706 |
block_signals(); |
|
5706 |
block_signals(); |
| 5707 |
} else { |
|
5707 |
} else { |
| 5708 |
|
|
5708 |
|
| 5709 |
} |
|
5709 |
} |
| 5710 |
done_this_time = (Int volatile )((Int )dispatch_ctr_SAVED - (Int )vgPlain_dispatch_ctr); |
|
5710 |
done_this_time = (Int volatile )((Int )dispatch_ctr_SAVED - (Int )vgPlain_dispatch_ctr); |
| 5711 |
tmp___21 = __builtin_expect((long )(! (! (done_this_time >= (Int volatile )0))), |
|
5711 |
tmp___21 = __builtin_expect((long )(! (! (done_this_time >= (Int volatile )0))), |
| 5712 |
1L); |
|
5712 |
1L); |
| 5713 |
if (tmp___21) { |
|
5713 |
if (tmp___21) { |
| 5714 |
|
|
5714 |
|
| 5715 |
} else { |
|
5715 |
} else { |
| 5716 |
vgPlain_assert_fail((Bool )1, (Char const *)"done_this_time >= 0", |
|
5716 |
vgPlain_assert_fail((Bool )1, (Char const *)"done_this_time >= 0", |
| 5717 |
(Char const *)"m_scheduler/scheduler.c", 803, |
|
5717 |
(Char const *)"m_scheduler/scheduler.c", 803, |
| 5718 |
(Char const *)"run_thread_for_a_while", ""); |
|
5718 |
(Char const *)"run_thread_for_a_while", ""); |
| 5719 |
} |
|
5719 |
} |
| 5720 |
bbs_done += (ULong )done_this_time; |
|
5720 |
bbs_done += (ULong )done_this_time; |
| 5721 |
while (1) { |
|
5721 |
while (1) { |
| 5722 |
if (vgPlain_tdict.track_stop_client_code) { |
|
5722 |
if (vgPlain_tdict.track_stop_client_code) { |
| 5723 |
(*(vgPlain_tdict.track_stop_client_code))(tid, bbs_done); |
|
5723 |
(*(vgPlain_tdict.track_stop_client_code))(tid, bbs_done); |
| 5724 |
} else { |
|
5724 |
} else { |
| 5725 |
|
|
5725 |
|
| 5726 |
} |
|
5726 |
} |
| 5727 |
break; |
|
5727 |
break; |
| 5728 |
} |
|
5728 |
} |
| 5729 |
if (bbs_done >= vgdb_next_poll) { |
|
5729 |
if (bbs_done >= vgdb_next_poll) { |
| 5730 |
if (vgPlain_clo_vgdb_poll) { |
|
5730 |
if (vgPlain_clo_vgdb_poll) { |
| 5731 |
vgdb_next_poll = bbs_done + (ULong )vgPlain_clo_vgdb_poll; |
|
5731 |
vgdb_next_poll = bbs_done + (ULong )vgPlain_clo_vgdb_poll; |
| 5732 |
} else { |
|
5732 |
} else { |
| 5733 |
vgdb_next_poll = 0xffffffffffffffffULL; |
|
5733 |
vgdb_next_poll = 0xffffffffffffffffULL; |
| 5734 |
} |
|
5734 |
} |
| 5735 |
tmp___22 = vgPlain_gdbserver_activity(tid); |
|
5735 |
tmp___22 = vgPlain_gdbserver_activity(tid); |
| 5736 |
if (tmp___22) { |
|
5736 |
if (tmp___22) { |
| 5737 |
vgPlain_gdbserver(tid); |
|
5737 |
vgPlain_gdbserver(tid); |
| 5738 |
} else { |
|
5738 |
} else { |
| 5739 |
|
|
5739 |
|
| 5740 |
} |
|
5740 |
} |
| 5741 |
} else { |
|
5741 |
} else { |
| 5742 |
|
|
5742 |
|
| 5743 |
} |
|
5743 |
} |
| 5744 |
return ((UInt )trc); |
|
5744 |
return ((UInt )trc); |
| 5745 |
} |
|
5745 |
} |
| 5746 |
} |
|
5746 |
} |
| 5747 |
static UInt run_noredir_translation(Addr hcode , ThreadId tid ) |
|
5747 |
static UInt run_noredir_translation(Addr hcode , ThreadId tid ) |
| 5748 |
{ |
|
5748 |
{ |
| 5749 |
Int volatile jumped ; |
|
5749 |
Int volatile jumped ; |
| 5750 |
ThreadState volatile *tst ; |
|
5750 |
ThreadState volatile *tst ; |
| 5751 |
UWord volatile argblock[4] ; |
|
5751 |
UWord volatile argblock[4] ; |
| 5752 |
UInt volatile retval ; |
|
5752 |
UInt volatile retval ; |
| 5753 |
Bool tmp ; |
|
5753 |
Bool tmp ; |
| 5754 |
int tmp___0 ; |
|
5754 |
int tmp___0 ; |
| 5755 |
long tmp___1 ; |
|
5755 |
long tmp___1 ; |
| 5756 |
Bool tmp___2 ; |
|
5756 |
Bool tmp___2 ; |
| 5757 |
int tmp___3 ; |
|
5757 |
int tmp___3 ; |
| 5758 |
long tmp___4 ; |
|
5758 |
long tmp___4 ; |
| 5759 |
Bool tmp___5 ; |
|
5759 |
Bool tmp___5 ; |
| 5760 |
int tmp___6 ; |
|
5760 |
int tmp___6 ; |
| 5761 |
long tmp___7 ; |
|
5761 |
long tmp___7 ; |
| 5762 |
ThreadState *tmp___8 ; |
|
5762 |
ThreadState *tmp___8 ; |
| 5763 |
long tmp___9 ; |
|
5763 |
long tmp___9 ; |
| 5764 |
ThreadState * volatile _qq_tst ; |
|
5764 |
ThreadState * volatile _qq_tst ; |
| 5765 |
ThreadState *tmp___10 ; |
|
5765 |
ThreadState *tmp___10 ; |
| 5766 |
int tmp___11 ; |
|
5766 |
int tmp___11 ; |
| 5767 |
long tmp___12 ; |
|
5767 |
long tmp___12 ; |
| 5768 |
long tmp___13 ; |
|
5768 |
long tmp___13 ; |
| 5769 |
long tmp___14 ; |
|
5769 |
long tmp___14 ; |
| 5770 |
long tmp___15 ; |
|
5770 |
long tmp___15 ; |
| 5771 |
|
|
5771 |
|
| 5772 |
{ |
|
5772 |
{ |
| 5773 |
tmp = vgPlain_is_valid_tid(tid); |
|
5773 |
tmp = vgPlain_is_valid_tid(tid); |
| 5774 |
if (tmp) { |
|
5774 |
if (tmp) { |
| 5775 |
tmp___0 = 1; |
|
5775 |
tmp___0 = 1; |
| 5776 |
} else { |
|
5776 |
} else { |
| 5777 |
tmp___0 = 0; |
|
5777 |
tmp___0 = 0; |
| 5778 |
} |
|
5778 |
} |
| 5779 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
|
5779 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
| 5780 |
if (tmp___1) { |
|
5780 |
if (tmp___1) { |
| 5781 |
|
|
5781 |
|
| 5782 |
} else { |
|
5782 |
} else { |
| 5783 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_valid_tid)(tid)", |
|
5783 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_valid_tid)(tid)", |
| 5784 |
(Char const *)"m_scheduler/scheduler.c", 833, |
|
5784 |
(Char const *)"m_scheduler/scheduler.c", 833, |
| 5785 |
(Char const *)"run_noredir_translation", ""); |
|
5785 |
(Char const *)"run_noredir_translation", ""); |
| 5786 |
} |
|
5786 |
} |
| 5787 |
tmp___2 = vgPlain_is_running_thread(tid); |
|
5787 |
tmp___2 = vgPlain_is_running_thread(tid); |
| 5788 |
if (tmp___2) { |
|
5788 |
if (tmp___2) { |
| 5789 |
tmp___3 = 1; |
|
5789 |
tmp___3 = 1; |
| 5790 |
} else { |
|
5790 |
} else { |
| 5791 |
tmp___3 = 0; |
|
5791 |
tmp___3 = 0; |
| 5792 |
} |
|
5792 |
} |
| 5793 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
|
5793 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
| 5794 |
if (tmp___4) { |
|
5794 |
if (tmp___4) { |
| 5795 |
|
|
5795 |
|
| 5796 |
} else { |
|
5796 |
} else { |
| 5797 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
|
5797 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
| 5798 |
(Char const *)"m_scheduler/scheduler.c", 834, |
|
5798 |
(Char const *)"m_scheduler/scheduler.c", 834, |
| 5799 |
(Char const *)"run_noredir_translation", ""); |
|
5799 |
(Char const *)"run_noredir_translation", ""); |
| 5800 |
} |
|
5800 |
} |
| 5801 |
tmp___5 = vgPlain_is_exiting(tid); |
|
5801 |
tmp___5 = vgPlain_is_exiting(tid); |
| 5802 |
if (tmp___5) { |
|
5802 |
if (tmp___5) { |
| 5803 |
tmp___6 = 0; |
|
5803 |
tmp___6 = 0; |
| 5804 |
} else { |
|
5804 |
} else { |
| 5805 |
tmp___6 = 1; |
|
5805 |
tmp___6 = 1; |
| 5806 |
} |
|
5806 |
} |
| 5807 |
tmp___7 = __builtin_expect((long )tmp___6, 1L); |
|
5807 |
tmp___7 = __builtin_expect((long )tmp___6, 1L); |
| 5808 |
if (tmp___7) { |
|
5808 |
if (tmp___7) { |
| 5809 |
|
|
5809 |
|
| 5810 |
} else { |
|
5810 |
} else { |
| 5811 |
vgPlain_assert_fail((Bool )1, (Char const *)"!VG_(is_exiting)(tid)", |
|
5811 |
vgPlain_assert_fail((Bool )1, (Char const *)"!VG_(is_exiting)(tid)", |
| 5812 |
(Char const *)"m_scheduler/scheduler.c", 835, |
|
5812 |
(Char const *)"m_scheduler/scheduler.c", 835, |
| 5813 |
(Char const *)"run_noredir_translation", ""); |
|
5813 |
(Char const *)"run_noredir_translation", ""); |
| 5814 |
} |
|
5814 |
} |
| 5815 |
tmp___8 = vgPlain_get_ThreadState(tid); |
|
5815 |
tmp___8 = vgPlain_get_ThreadState(tid); |
| 5816 |
tst = (ThreadState volatile *)tmp___8; |
|
5816 |
tst = (ThreadState volatile *)tmp___8; |
| 5817 |
do_pre_run_checks((ThreadState *)tst); |
|
5817 |
do_pre_run_checks((ThreadState *)tst); |
| 5818 |
argblock[0] = (UWord volatile )hcode; |
|
5818 |
argblock[0] = (UWord volatile )hcode; |
| 5819 |
argblock[1] = (UWord volatile )((UWord )(& vgPlain_threads[tid].arch.vex)); |
|
5819 |
argblock[1] = (UWord volatile )((UWord )(& vgPlain_threads[tid].arch.vex)); |
| 5820 |
argblock[2] = (UWord volatile )0; |
|
5820 |
argblock[2] = (UWord volatile )0; |
| 5821 |
argblock[3] = (UWord volatile )0; |
|
5821 |
argblock[3] = (UWord volatile )0; |
| 5822 |
while (1) { |
|
5822 |
while (1) { |
| 5823 |
if (vgPlain_tdict.track_start_client_code) { |
|
5823 |
if (vgPlain_tdict.track_start_client_code) { |
| 5824 |
(*(vgPlain_tdict.track_start_client_code))(tid, bbs_done); |
|
5824 |
(*(vgPlain_tdict.track_start_client_code))(tid, bbs_done); |
| 5825 |
} else { |
|
5825 |
} else { |
| 5826 |
|
|
5826 |
|
| 5827 |
} |
|
5827 |
} |
| 5828 |
break; |
|
5828 |
break; |
| 5829 |
} |
|
5829 |
} |
| 5830 |
tmp___9 = __builtin_expect((long )(! (! ((int )vgPlain_in_generated_code == 0))), |
|
5830 |
tmp___9 = __builtin_expect((long )(! (! ((int )vgPlain_in_generated_code == 0))), |
| 5831 |
1L); |
|
5831 |
1L); |
| 5832 |
if (tmp___9) { |
|
5832 |
if (tmp___9) { |
| 5833 |
|
|
5833 |
|
| 5834 |
} else { |
|
5834 |
} else { |
| 5835 |
vgPlain_assert_fail((Bool )1, |
|
5835 |
vgPlain_assert_fail((Bool )1, |
| 5836 |
(Char const *)"VG_(in_generated_code) == False", |
|
5836 |
(Char const *)"VG_(in_generated_code) == False", |
| 5837 |
(Char const *)"m_scheduler/scheduler.c", 868, |
|
5837 |
(Char const *)"m_scheduler/scheduler.c", 868, |
| 5838 |
(Char const *)"run_noredir_translation", ""); |
|
5838 |
(Char const *)"run_noredir_translation", ""); |
| 5839 |
} |
|
5839 |
} |
| 5840 |
vgPlain_in_generated_code = (Bool )1; |
|
5840 |
vgPlain_in_generated_code = (Bool )1; |
| 5841 |
while (1) { |
|
5841 |
while (1) { |
| 5842 |
tmp___10 = vgPlain_get_ThreadState(tid); |
|
5842 |
tmp___10 = vgPlain_get_ThreadState(tid); |
| 5843 |
_qq_tst = (ThreadState *)tmp___10; |
|
5843 |
_qq_tst = (ThreadState *)tmp___10; |
| 5844 |
tmp___11 = __builtin_setjmp(_qq_tst->sched_jmpbuf); |
|
5844 |
tmp___11 = __builtin_setjmp(_qq_tst->sched_jmpbuf); |
| 5845 |
jumped = (Int volatile )tmp___11; |
|
5845 |
jumped = (Int volatile )tmp___11; |
| 5846 |
if (jumped == (Int volatile )0) { |
|
5846 |
if (jumped == (Int volatile )0) { |
| 5847 |
tmp___12 = __builtin_expect((long )(! (! (! _qq_tst->sched_jmpbuf_valid))), |
|
5847 |
tmp___12 = __builtin_expect((long )(! (! (! _qq_tst->sched_jmpbuf_valid))), |
| 5848 |
1L); |
|
5848 |
1L); |
| 5849 |
if (tmp___12) { |
|
5849 |
if (tmp___12) { |
| 5850 |
|
|
5850 |
|
| 5851 |
} else { |
|
5851 |
} else { |
| 5852 |
vgPlain_assert_fail((Bool )1, |
|
5852 |
vgPlain_assert_fail((Bool )1, |
| 5853 |
(Char const *)"!_qq_tst->sched_jmpbuf_valid", |
|
5853 |
(Char const *)"!_qq_tst->sched_jmpbuf_valid", |
| 5854 |
(Char const *)"m_scheduler/scheduler.c", 875, |
|
5854 |
(Char const *)"m_scheduler/scheduler.c", 875, |
| 5855 |
(Char const *)"run_noredir_translation", ""); |
|
5855 |
(Char const *)"run_noredir_translation", ""); |
| 5856 |
} |
|
5856 |
} |
| 5857 |
_qq_tst->sched_jmpbuf_valid = (Bool )1; |
|
5857 |
_qq_tst->sched_jmpbuf_valid = (Bool )1; |
| 5858 |
vgPlain_run_a_noredir_translation(& argblock[0]); |
|
5858 |
vgPlain_run_a_noredir_translation(& argblock[0]); |
| 5859 |
} else |
|
5859 |
} else |
| 5860 |
if (vgPlain_clo_trace_sched) { |
|
5860 |
if (vgPlain_clo_trace_sched) { |
| 5861 |
vgPlain_printf("SCHEDSETJMP(line %d) tid %d, jumped=%d\n", 875, tid, |
|
5861 |
vgPlain_printf("SCHEDSETJMP(line %d) tid %d, jumped=%d\n", 875, tid, |
| 5862 |
jumped); |
|
5862 |
jumped); |
| 5863 |
} else { |
|
5863 |
} else { |
| 5864 |
|
|
5864 |
|
| 5865 |
} |
|
5865 |
} |
| 5866 |
tmp___13 = __builtin_expect((long )(! (! _qq_tst->sched_jmpbuf_valid)), 1L); |
|
5866 |
tmp___13 = __builtin_expect((long )(! (! _qq_tst->sched_jmpbuf_valid)), 1L); |
| 5867 |
if (tmp___13) { |
|
5867 |
if (tmp___13) { |
| 5868 |
|
|
5868 |
|
| 5869 |
} else { |
|
5869 |
} else { |
| 5870 |
vgPlain_assert_fail((Bool )1, |
|
5870 |
vgPlain_assert_fail((Bool )1, |
| 5871 |
(Char const *)"_qq_tst->sched_jmpbuf_valid", |
|
5871 |
(Char const *)"_qq_tst->sched_jmpbuf_valid", |
| 5872 |
(Char const *)"m_scheduler/scheduler.c", 875, |
|
5872 |
(Char const *)"m_scheduler/scheduler.c", 875, |
| 5873 |
(Char const *)"run_noredir_translation", ""); |
|
5873 |
(Char const *)"run_noredir_translation", ""); |
| 5874 |
} |
|
5874 |
} |
| 5875 |
_qq_tst->sched_jmpbuf_valid = (Bool )0; |
|
5875 |
_qq_tst->sched_jmpbuf_valid = (Bool )0; |
| 5876 |
break; |
|
5876 |
break; |
| 5877 |
} |
|
5877 |
} |
| 5878 |
vgPlain_in_generated_code = (Bool )0; |
|
5878 |
vgPlain_in_generated_code = (Bool )0; |
| 5879 |
if (jumped) { |
|
5879 |
if (jumped) { |
| 5880 |
tmp___14 = __builtin_expect((long )(! (! (argblock[2] == (UWord volatile )0))), |
|
5880 |
tmp___14 = __builtin_expect((long )(! (! (argblock[2] == (UWord volatile )0))), |
| 5881 |
1L); |
|
5881 |
1L); |
| 5882 |
if (tmp___14) { |
|
5882 |
if (tmp___14) { |
| 5883 |
|
|
5883 |
|
| 5884 |
} else { |
|
5884 |
} else { |
| 5885 |
vgPlain_assert_fail((Bool )1, (Char const *)"argblock[2] == 0", |
|
5885 |
vgPlain_assert_fail((Bool )1, (Char const *)"argblock[2] == 0", |
| 5886 |
(Char const *)"m_scheduler/scheduler.c", 882, |
|
5886 |
(Char const *)"m_scheduler/scheduler.c", 882, |
| 5887 |
(Char const *)"run_noredir_translation", ""); |
|
5887 |
(Char const *)"run_noredir_translation", ""); |
| 5888 |
} |
|
5888 |
} |
| 5889 |
tmp___15 = __builtin_expect((long )(! (! (argblock[3] == (UWord volatile )0))), |
|
5889 |
tmp___15 = __builtin_expect((long )(! (! (argblock[3] == (UWord volatile )0))), |
| 5890 |
1L); |
|
5890 |
1L); |
| 5891 |
if (tmp___15) { |
|
5891 |
if (tmp___15) { |
| 5892 |
|
|
5892 |
|
| 5893 |
} else { |
|
5893 |
} else { |
| 5894 |
vgPlain_assert_fail((Bool )1, (Char const *)"argblock[3] == 0", |
|
5894 |
vgPlain_assert_fail((Bool )1, (Char const *)"argblock[3] == 0", |
| 5895 |
(Char const *)"m_scheduler/scheduler.c", 883, |
|
5895 |
(Char const *)"m_scheduler/scheduler.c", 883, |
| 5896 |
(Char const *)"run_noredir_translation", ""); |
|
5896 |
(Char const *)"run_noredir_translation", ""); |
| 5897 |
} |
|
5897 |
} |
| 5898 |
block_signals(); |
|
5898 |
block_signals(); |
| 5899 |
retval = (UInt volatile )43; |
|
5899 |
retval = (UInt volatile )43; |
| 5900 |
} else { |
|
5900 |
} else { |
| 5901 |
vgPlain_set_IP(tid, (Addr )argblock[2]); |
|
5901 |
vgPlain_set_IP(tid, (Addr )argblock[2]); |
| 5902 |
if (argblock[3] == argblock[1]) { |
|
5902 |
if (argblock[3] == argblock[1]) { |
| 5903 |
retval = (UInt volatile )29; |
|
5903 |
retval = (UInt volatile )29; |
| 5904 |
} else { |
|
5904 |
} else { |
| 5905 |
retval = (UInt volatile )((UInt )argblock[3]); |
|
5905 |
retval = (UInt volatile )((UInt )argblock[3]); |
| 5906 |
} |
|
5906 |
} |
| 5907 |
} |
|
5907 |
} |
| 5908 |
bbs_done ++; |
|
5908 |
bbs_done ++; |
| 5909 |
while (1) { |
|
5909 |
while (1) { |
| 5910 |
if (vgPlain_tdict.track_stop_client_code) { |
|
5910 |
if (vgPlain_tdict.track_stop_client_code) { |
| 5911 |
(*(vgPlain_tdict.track_stop_client_code))(tid, bbs_done); |
|
5911 |
(*(vgPlain_tdict.track_stop_client_code))(tid, bbs_done); |
| 5912 |
} else { |
|
5912 |
} else { |
| 5913 |
|
|
5913 |
|
| 5914 |
} |
|
5914 |
} |
| 5915 |
break; |
|
5915 |
break; |
| 5916 |
} |
|
5916 |
} |
| 5917 |
return ((UInt )retval); |
|
5917 |
return ((UInt )retval); |
| 5918 |
} |
|
5918 |
} |
| 5919 |
} |
|
5919 |
} |
| 5920 |
ULong vgPlain_bbs_done(void) |
|
5920 |
ULong vgPlain_bbs_done(void) |
| 5921 |
{ |
|
5921 |
{ |
| 5922 |
|
|
5922 |
|
| 5923 |
|
|
5923 |
|
| 5924 |
{ |
|
5924 |
{ |
| 5925 |
return (bbs_done); |
|
5925 |
return (bbs_done); |
| 5926 |
} |
|
5926 |
} |
| 5927 |
} |
|
5927 |
} |
| 5928 |
static void handle_tt_miss(ThreadId tid ) |
|
5928 |
static void handle_tt_miss(ThreadId tid ) |
| 5929 |
{ |
|
5929 |
{ |
| 5930 |
Bool found ; |
|
5930 |
Bool found ; |
| 5931 |
Addr ip ; |
|
5931 |
Addr ip ; |
| 5932 |
Addr tmp ; |
|
5932 |
Addr tmp ; |
| 5933 |
long tmp___0 ; |
|
5933 |
long tmp___0 ; |
| 5934 |
Bool tmp___1 ; |
|
5934 |
Bool tmp___1 ; |
| 5935 |
long tmp___2 ; |
|
5935 |
long tmp___2 ; |
| 5936 |
|
|
5936 |
|
| 5937 |
{ |
|
5937 |
{ |
| 5938 |
tmp = vgPlain_get_IP(tid); |
|
5938 |
tmp = vgPlain_get_IP(tid); |
| 5939 |
ip = tmp; |
|
5939 |
ip = tmp; |
| 5940 |
found = vgPlain_search_transtab((AddrH *)((void *)0), (Addr64 )ip, (Bool )1); |
|
5940 |
found = vgPlain_search_transtab((AddrH *)((void *)0), (Addr64 )ip, (Bool )1); |
| 5941 |
tmp___2 = __builtin_expect((long )(! (! (! found))), 0L); |
|
5941 |
tmp___2 = __builtin_expect((long )(! (! (! found))), 0L); |
| 5942 |
if (tmp___2) { |
|
5942 |
if (tmp___2) { |
| 5943 |
tmp___1 = vgPlain_translate(tid, (Addr64 )ip, (Bool )0, 0, bbs_done, |
|
5943 |
tmp___1 = vgPlain_translate(tid, (Addr64 )ip, (Bool )0, 0, bbs_done, |
| 5944 |
(Bool )1); |
|
5944 |
(Bool )1); |
| 5945 |
if (tmp___1) { |
|
5945 |
if (tmp___1) { |
| 5946 |
found = vgPlain_search_transtab((AddrH *)((void *)0), (Addr64 )ip, |
|
5946 |
found = vgPlain_search_transtab((AddrH *)((void *)0), (Addr64 )ip, |
| 5947 |
(Bool )1); |
|
5947 |
(Bool )1); |
| 5948 |
tmp___0 = __builtin_expect((long )(! (! found)), 1L); |
|
5948 |
tmp___0 = __builtin_expect((long )(! (! found)), 1L); |
| 5949 |
if (tmp___0) { |
|
5949 |
if (tmp___0) { |
| 5950 |
|
|
5950 |
|
| 5951 |
} else { |
|
5951 |
} else { |
| 5952 |
vgPlain_assert_fail((Bool )1, (Char const *)"found", |
|
5952 |
vgPlain_assert_fail((Bool )1, (Char const *)"found", |
| 5953 |
(Char const *)"m_scheduler/scheduler.c", 927, |
|
5953 |
(Char const *)"m_scheduler/scheduler.c", 927, |
| 5954 |
(Char const *)"handle_tt_miss", |
|
5954 |
(Char const *)"handle_tt_miss", |
| 5955 |
"VG_TRC_INNER_FASTMISS: missing tt_fast entry"); |
|
5955 |
"VG_TRC_INNER_FASTMISS: missing tt_fast entry"); |
| 5956 |
} |
|
5956 |
} |
| 5957 |
} else { |
|
5957 |
} else { |
| 5958 |
|
|
5958 |
|
| 5959 |
} |
|
5959 |
} |
| 5960 |
} else { |
|
5960 |
} else { |
| 5961 |
|
|
5961 |
|
| 5962 |
} |
|
5962 |
} |
| 5963 |
return; |
|
5963 |
return; |
| 5964 |
} |
|
5964 |
} |
| 5965 |
} |
|
5965 |
} |
| 5966 |
static void handle_syscall(ThreadId tid , UInt trc ) |
|
5966 |
static void handle_syscall(ThreadId tid , UInt trc ) |
| 5967 |
{ |
|
5967 |
{ |
| 5968 |
ThreadState * volatile tst ; |
|
5968 |
ThreadState * volatile tst ; |
| 5969 |
ThreadState *tmp ; |
|
5969 |
ThreadState *tmp ; |
| 5970 |
Bool jumped ; |
|
5970 |
Bool jumped ; |
| 5971 |
ThreadState * volatile _qq_tst ; |
|
5971 |
ThreadState * volatile _qq_tst ; |
| 5972 |
ThreadState *tmp___0 ; |
|
5972 |
ThreadState *tmp___0 ; |
| 5973 |
int tmp___1 ; |
|
5973 |
int tmp___1 ; |
| 5974 |
long tmp___2 ; |
|
5974 |
long tmp___2 ; |
| 5975 |
long tmp___3 ; |
|
5975 |
long tmp___3 ; |
| 5976 |
Bool tmp___4 ; |
|
5976 |
Bool tmp___4 ; |
| 5977 |
Bool tmp___5 ; |
|
5977 |
Bool tmp___5 ; |
| 5978 |
int tmp___6 ; |
|
5978 |
int tmp___6 ; |
| 5979 |
long tmp___7 ; |
|
5979 |
long tmp___7 ; |
| 5980 |
|
|
5980 |
|
| 5981 |
{ |
|
5981 |
{ |
| 5982 |
tmp = vgPlain_get_ThreadState(tid); |
|
5982 |
tmp = vgPlain_get_ThreadState(tid); |
| 5983 |
tst = (ThreadState *)tmp; |
|
5983 |
tst = (ThreadState *)tmp; |
| 5984 |
if (vgPlain_clo_sanity_level >= 3) { |
|
5984 |
if (vgPlain_clo_sanity_level >= 3) { |
| 5985 |
vgPlain_am_do_sync_check("(BEFORE SYSCALL)", "m_scheduler/scheduler.c", 950); |
|
5985 |
vgPlain_am_do_sync_check("(BEFORE SYSCALL)", "m_scheduler/scheduler.c", 950); |
| 5986 |
} else { |
|
5986 |
} else { |
| 5987 |
|
|
5987 |
|
| 5988 |
} |
|
5988 |
} |
| 5989 |
while (1) { |
|
5989 |
while (1) { |
| 5990 |
tmp___0 = vgPlain_get_ThreadState(tid); |
|
5990 |
tmp___0 = vgPlain_get_ThreadState(tid); |
| 5991 |
_qq_tst = (ThreadState *)tmp___0; |
|
5991 |
_qq_tst = (ThreadState *)tmp___0; |
| 5992 |
tmp___1 = __builtin_setjmp(_qq_tst->sched_jmpbuf); |
|
5992 |
tmp___1 = __builtin_setjmp(_qq_tst->sched_jmpbuf); |
| 5993 |
jumped = (Bool )tmp___1; |
|
5993 |
jumped = (Bool )tmp___1; |
| 5994 |
if ((int )jumped == 0) { |
|
5994 |
if ((int )jumped == 0) { |
| 5995 |
tmp___2 = __builtin_expect((long )(! (! (! _qq_tst->sched_jmpbuf_valid))), |
|
5995 |
tmp___2 = __builtin_expect((long )(! (! (! _qq_tst->sched_jmpbuf_valid))), |
| 5996 |
1L); |
|
5996 |
1L); |
| 5997 |
if (tmp___2) { |
|
5997 |
if (tmp___2) { |
| 5998 |
|
|
5998 |
|
| 5999 |
} else { |
|
5999 |
} else { |
| 6000 |
vgPlain_assert_fail((Bool )1, |
|
6000 |
vgPlain_assert_fail((Bool )1, |
| 6001 |
(Char const *)"!_qq_tst->sched_jmpbuf_valid", |
|
6001 |
(Char const *)"!_qq_tst->sched_jmpbuf_valid", |
| 6002 |
(Char const *)"m_scheduler/scheduler.c", 952, |
|
6002 |
(Char const *)"m_scheduler/scheduler.c", 952, |
| 6003 |
(Char const *)"handle_syscall", ""); |
|
6003 |
(Char const *)"handle_syscall", ""); |
| 6004 |
} |
|
6004 |
} |
| 6005 |
_qq_tst->sched_jmpbuf_valid = (Bool )1; |
|
6005 |
_qq_tst->sched_jmpbuf_valid = (Bool )1; |
| 6006 |
vgPlain_client_syscall(tid, trc); |
|
6006 |
vgPlain_client_syscall(tid, trc); |
| 6007 |
} else |
|
6007 |
} else |
| 6008 |
if (vgPlain_clo_trace_sched) { |
|
6008 |
if (vgPlain_clo_trace_sched) { |
| 6009 |
vgPlain_printf("SCHEDSETJMP(line %d) tid %d, jumped=%d\n", 952, tid, |
|
6009 |
vgPlain_printf("SCHEDSETJMP(line %d) tid %d, jumped=%d\n", 952, tid, |
| 6010 |
(int )jumped); |
|
6010 |
(int )jumped); |
| 6011 |
} else { |
|
6011 |
} else { |
| 6012 |
|
|
6012 |
|
| 6013 |
} |
|
6013 |
} |
| 6014 |
tmp___3 = __builtin_expect((long )(! (! _qq_tst->sched_jmpbuf_valid)), 1L); |
|
6014 |
tmp___3 = __builtin_expect((long )(! (! _qq_tst->sched_jmpbuf_valid)), 1L); |
| 6015 |
if (tmp___3) { |
|
6015 |
if (tmp___3) { |
| 6016 |
|
|
6016 |
|
| 6017 |
} else { |
|
6017 |
} else { |
| 6018 |
vgPlain_assert_fail((Bool )1, |
|
6018 |
vgPlain_assert_fail((Bool )1, |
| 6019 |
(Char const *)"_qq_tst->sched_jmpbuf_valid", |
|
6019 |
(Char const *)"_qq_tst->sched_jmpbuf_valid", |
| 6020 |
(Char const *)"m_scheduler/scheduler.c", 952, |
|
6020 |
(Char const *)"m_scheduler/scheduler.c", 952, |
| 6021 |
(Char const *)"handle_syscall", ""); |
|
6021 |
(Char const *)"handle_syscall", ""); |
| 6022 |
} |
|
6022 |
} |
| 6023 |
_qq_tst->sched_jmpbuf_valid = (Bool )0; |
|
6023 |
_qq_tst->sched_jmpbuf_valid = (Bool )0; |
| 6024 |
break; |
|
6024 |
break; |
| 6025 |
} |
|
6025 |
} |
| 6026 |
if (vgPlain_clo_sanity_level >= 3) { |
|
6026 |
if (vgPlain_clo_sanity_level >= 3) { |
| 6027 |
vgPlain_am_do_sync_check("(AFTER SYSCALL)", "m_scheduler/scheduler.c", 955); |
|
6027 |
vgPlain_am_do_sync_check("(AFTER SYSCALL)", "m_scheduler/scheduler.c", 955); |
| 6028 |
} else { |
|
6028 |
} else { |
| 6029 |
|
|
6029 |
|
| 6030 |
} |
|
6030 |
} |
| 6031 |
tmp___4 = vgPlain_is_running_thread(tid); |
|
6031 |
tmp___4 = vgPlain_is_running_thread(tid); |
| 6032 |
if (tmp___4) { |
|
6032 |
if (tmp___4) { |
| 6033 |
|
|
6033 |
|
| 6034 |
} else { |
|
6034 |
} else { |
| 6035 |
vgPlain_printf("tid %d not running; VG_(running_tid)=%d, tid %d status %d\n", |
|
6035 |
vgPlain_printf("tid %d not running; VG_(running_tid)=%d, tid %d status %d\n", |
| 6036 |
tid, vgPlain_running_tid, tid, (unsigned int )tst->status); |
|
6036 |
tid, vgPlain_running_tid, tid, (unsigned int )tst->status); |
| 6037 |
} |
|
6037 |
} |
| 6038 |
tmp___5 = vgPlain_is_running_thread(tid); |
|
6038 |
tmp___5 = vgPlain_is_running_thread(tid); |
| 6039 |
if (tmp___5) { |
|
6039 |
if (tmp___5) { |
| 6040 |
tmp___6 = 1; |
|
6040 |
tmp___6 = 1; |
| 6041 |
} else { |
|
6041 |
} else { |
| 6042 |
tmp___6 = 0; |
|
6042 |
tmp___6 = 0; |
| 6043 |
} |
|
6043 |
} |
| 6044 |
tmp___7 = __builtin_expect((long )tmp___6, 1L); |
|
6044 |
tmp___7 = __builtin_expect((long )tmp___6, 1L); |
| 6045 |
if (tmp___7) { |
|
6045 |
if (tmp___7) { |
| 6046 |
|
|
6046 |
|
| 6047 |
} else { |
|
6047 |
} else { |
| 6048 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
|
6048 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
| 6049 |
(Char const *)"m_scheduler/scheduler.c", 960, |
|
6049 |
(Char const *)"m_scheduler/scheduler.c", 960, |
| 6050 |
(Char const *)"handle_syscall", ""); |
|
6050 |
(Char const *)"handle_syscall", ""); |
| 6051 |
} |
|
6051 |
} |
| 6052 |
if (jumped) { |
|
6052 |
if (jumped) { |
| 6053 |
block_signals(); |
|
6053 |
block_signals(); |
| 6054 |
vgPlain_poll_signals(tid); |
|
6054 |
vgPlain_poll_signals(tid); |
| 6055 |
} else { |
|
6055 |
} else { |
| 6056 |
|
|
6056 |
|
| 6057 |
} |
|
6057 |
} |
| 6058 |
return; |
|
6058 |
return; |
| 6059 |
} |
|
6059 |
} |
| 6060 |
} |
|
6060 |
} |
| 6061 |
static UInt handle_noredir_jump(ThreadId tid ) |
|
6061 |
static UInt handle_noredir_jump(ThreadId tid ) |
| 6062 |
{ |
|
6062 |
{ |
| 6063 |
AddrH hcode ; |
|
6063 |
AddrH hcode ; |
| 6064 |
Addr ip ; |
|
6064 |
Addr ip ; |
| 6065 |
Addr tmp ; |
|
6065 |
Addr tmp ; |
| 6066 |
Bool found ; |
|
6066 |
Bool found ; |
| 6067 |
Bool tmp___0 ; |
|
6067 |
Bool tmp___0 ; |
| 6068 |
long tmp___1 ; |
|
6068 |
long tmp___1 ; |
| 6069 |
Bool tmp___2 ; |
|
6069 |
Bool tmp___2 ; |
| 6070 |
long tmp___3 ; |
|
6070 |
long tmp___3 ; |
| 6071 |
long tmp___4 ; |
|
6071 |
long tmp___4 ; |
| 6072 |
UInt tmp___5 ; |
|
6072 |
UInt tmp___5 ; |
| 6073 |
|
|
6073 |
|
| 6074 |
{ |
|
6074 |
{ |
| 6075 |
hcode = (AddrH )0; |
|
6075 |
hcode = (AddrH )0; |
| 6076 |
tmp = vgPlain_get_IP(tid); |
|
6076 |
tmp = vgPlain_get_IP(tid); |
| 6077 |
ip = tmp; |
|
6077 |
ip = tmp; |
| 6078 |
tmp___0 = vgPlain_search_unredir_transtab(& hcode, (Addr64 )ip); |
|
6078 |
tmp___0 = vgPlain_search_unredir_transtab(& hcode, (Addr64 )ip); |
| 6079 |
found = tmp___0; |
|
6079 |
found = tmp___0; |
| 6080 |
if (! found) { |
|
6080 |
if (! found) { |
| 6081 |
tmp___2 = vgPlain_translate(tid, (Addr64 )ip, (Bool )0, 0, bbs_done, |
|
6081 |
tmp___2 = vgPlain_translate(tid, (Addr64 )ip, (Bool )0, 0, bbs_done, |
| 6082 |
(Bool )0); |
|
6082 |
(Bool )0); |
| 6083 |
if (tmp___2) { |
|
6083 |
if (tmp___2) { |
| 6084 |
found = vgPlain_search_unredir_transtab(& hcode, (Addr64 )ip); |
|
6084 |
found = vgPlain_search_unredir_transtab(& hcode, (Addr64 )ip); |
| 6085 |
tmp___1 = __builtin_expect((long )(! (! found)), 1L); |
|
6085 |
tmp___1 = __builtin_expect((long )(! (! found)), 1L); |
| 6086 |
if (tmp___1) { |
|
6086 |
if (tmp___1) { |
| 6087 |
|
|
6087 |
|
| 6088 |
} else { |
|
6088 |
} else { |
| 6089 |
vgPlain_assert_fail((Bool )1, (Char const *)"found", |
|
6089 |
vgPlain_assert_fail((Bool )1, (Char const *)"found", |
| 6090 |
(Char const *)"m_scheduler/scheduler.c", 983, |
|
6090 |
(Char const *)"m_scheduler/scheduler.c", 983, |
| 6091 |
(Char const *)"handle_noredir_jump", |
|
6091 |
(Char const *)"handle_noredir_jump", |
| 6092 |
"unredir translation missing after creation?!"); |
|
6092 |
"unredir translation missing after creation?!"); |
| 6093 |
} |
|
6093 |
} |
| 6094 |
} else { |
|
6094 |
} else { |
| 6095 |
return ((UInt )29); |
|
6095 |
return ((UInt )29); |
| 6096 |
} |
|
6096 |
} |
| 6097 |
} else { |
|
6097 |
} else { |
| 6098 |
|
|
6098 |
|
| 6099 |
} |
|
6099 |
} |
| 6100 |
tmp___3 = __builtin_expect((long )(! (! found)), 1L); |
|
6100 |
tmp___3 = __builtin_expect((long )(! (! found)), 1L); |
| 6101 |
if (tmp___3) { |
|
6101 |
if (tmp___3) { |
| 6102 |
|
|
6102 |
|
| 6103 |
} else { |
|
6103 |
} else { |
| 6104 |
vgPlain_assert_fail((Bool )1, (Char const *)"found", |
|
6104 |
vgPlain_assert_fail((Bool )1, (Char const *)"found", |
| 6105 |
(Char const *)"m_scheduler/scheduler.c", 996, |
|
6105 |
(Char const *)"m_scheduler/scheduler.c", 996, |
| 6106 |
(Char const *)"handle_noredir_jump", ""); |
|
6106 |
(Char const *)"handle_noredir_jump", ""); |
| 6107 |
} |
|
6107 |
} |
| 6108 |
tmp___4 = __builtin_expect((long )(! (! (hcode != 0UL))), 1L); |
|
6108 |
tmp___4 = __builtin_expect((long )(! (! (hcode != 0UL))), 1L); |
| 6109 |
if (tmp___4) { |
|
6109 |
if (tmp___4) { |
| 6110 |
|
|
6110 |
|
| 6111 |
} else { |
|
6111 |
} else { |
| 6112 |
vgPlain_assert_fail((Bool )1, (Char const *)"hcode != 0", |
|
6112 |
vgPlain_assert_fail((Bool )1, (Char const *)"hcode != 0", |
| 6113 |
(Char const *)"m_scheduler/scheduler.c", 997, |
|
6113 |
(Char const *)"m_scheduler/scheduler.c", 997, |
| 6114 |
(Char const *)"handle_noredir_jump", ""); |
|
6114 |
(Char const *)"handle_noredir_jump", ""); |
| 6115 |
} |
|
6115 |
} |
| 6116 |
tmp___5 = run_noredir_translation(hcode, tid); |
|
6116 |
tmp___5 = run_noredir_translation(hcode, tid); |
| 6117 |
return (tmp___5); |
|
6117 |
return (tmp___5); |
| 6118 |
} |
|
6118 |
} |
| 6119 |
} |
|
6119 |
} |
| 6120 |
VgSchedReturnCode vgPlain_scheduler(ThreadId tid ) ; |
|
6120 |
VgSchedReturnCode vgPlain_scheduler(ThreadId tid ) ; |
| 6121 |
static Bool vgdb_startup_action_done = (Bool )0; |
|
6121 |
static Bool vgdb_startup_action_done = (Bool )0; |
| 6122 |
static Int counts[10] ; |
|
6122 |
static Int counts[10] ; |
| 6123 |
VgSchedReturnCode vgPlain_scheduler(ThreadId tid ) ; |
|
6123 |
VgSchedReturnCode vgPlain_scheduler(ThreadId tid ) ; |
| 6124 |
static Bool counts_initted = (Bool )0; |
|
6124 |
static Bool counts_initted = (Bool )0; |
| 6125 |
VgSchedReturnCode vgPlain_scheduler(ThreadId tid ) |
|
6125 |
VgSchedReturnCode vgPlain_scheduler(ThreadId tid ) |
| 6126 |
{ |
|
6126 |
{ |
| 6127 |
UInt trc ; |
|
6127 |
UInt trc ; |
| 6128 |
ThreadState *tst ; |
|
6128 |
ThreadState *tst ; |
| 6129 |
ThreadState *tmp ; |
|
6129 |
ThreadState *tmp ; |
| 6130 |
long tmp___0 ; |
|
6130 |
long tmp___0 ; |
| 6131 |
long tmp___1 ; |
|
6131 |
long tmp___1 ; |
| 6132 |
Bool tmp___2 ; |
|
6132 |
Bool tmp___2 ; |
| 6133 |
int tmp___3 ; |
|
6133 |
int tmp___3 ; |
| 6134 |
long tmp___4 ; |
|
6134 |
long tmp___4 ; |
| 6135 |
Bool tmp___5 ; |
|
6135 |
Bool tmp___5 ; |
| 6136 |
long tmp___6 ; |
|
6136 |
long tmp___6 ; |
| 6137 |
Int tmp___7 ; |
|
6137 |
Int tmp___7 ; |
| 6138 |
int tmp___8 ; |
|
6138 |
int tmp___8 ; |
| 6139 |
long tmp___9 ; |
|
6139 |
long tmp___9 ; |
| 6140 |
Char buf[50] ; |
|
6140 |
Char buf[50] ; |
| 6141 |
HChar *tmp___10 ; |
|
6141 |
HChar *tmp___10 ; |
| 6142 |
long tmp___11 ; |
|
6142 |
long tmp___11 ; |
| 6143 |
long tmp___12 ; |
|
6143 |
long tmp___12 ; |
| 6144 |
long tmp___13 ; |
|
6144 |
long tmp___13 ; |
| 6145 |
VexEmWarn ew ; |
|
6145 |
VexEmWarn ew ; |
| 6146 |
HChar *what ; |
|
6146 |
HChar *what ; |
| 6147 |
Bool show ; |
|
6147 |
Bool show ; |
| 6148 |
Int q ; |
|
6148 |
Int q ; |
| 6149 |
HChar *tmp___14 ; |
|
6149 |
HChar *tmp___14 ; |
| 6150 |
Int tmp___15 ; |
|
6150 |
Int tmp___15 ; |
| 6151 |
VexEmWarn ew___0 ; |
|
6151 |
VexEmWarn ew___0 ; |
| 6152 |
HChar *what___0 ; |
|
6152 |
HChar *what___0 ; |
| 6153 |
HChar *tmp___16 ; |
|
6153 |
HChar *tmp___16 ; |
| 6154 |
Addr tmp___17 ; |
|
6154 |
Addr tmp___17 ; |
| 6155 |
Addr tmp___18 ; |
|
6155 |
Addr tmp___18 ; |
| 6156 |
long tmp___19 ; |
|
6156 |
long tmp___19 ; |
| 6157 |
long tmp___20 ; |
|
6157 |
long tmp___20 ; |
| 6158 |
long tmp___21 ; |
|
6158 |
long tmp___21 ; |
| 6159 |
Bool tmp___22 ; |
|
6159 |
Bool tmp___22 ; |
| 6160 |
Bool tmp___23 ; |
|
6160 |
Bool tmp___23 ; |
| 6161 |
int tmp___24 ; |
|
6161 |
int tmp___24 ; |
| 6162 |
long tmp___25 ; |
|
6162 |
long tmp___25 ; |
| 6163 |
|
|
6163 |
|
| 6164 |
{ |
|
6164 |
{ |
| 6165 |
tmp = vgPlain_get_ThreadState(tid); |
|
6165 |
tmp = vgPlain_get_ThreadState(tid); |
| 6166 |
tst = tmp; |
|
6166 |
tst = tmp; |
| 6167 |
if (vgPlain_clo_trace_sched) { |
|
6167 |
if (vgPlain_clo_trace_sched) { |
| 6168 |
print_sched_event(tid, (Char *)"entering VG_(scheduler)"); |
|
6168 |
print_sched_event(tid, (Char *)"entering VG_(scheduler)"); |
| 6169 |
} else { |
|
6169 |
} else { |
| 6170 |
|
|
6170 |
|
| 6171 |
} |
|
6171 |
} |
| 6172 |
if (! vgdb_startup_action_done) { |
|
6172 |
if (! vgdb_startup_action_done) { |
| 6173 |
tmp___0 = __builtin_expect((long )(! (! (tid == 1U))), 1L); |
|
6173 |
tmp___0 = __builtin_expect((long )(! (! (tid == 1U))), 1L); |
| 6174 |
if (tmp___0) { |
|
6174 |
if (tmp___0) { |
| 6175 |
|
|
6175 |
|
| 6176 |
} else { |
|
6176 |
} else { |
| 6177 |
vgPlain_assert_fail((Bool )1, (Char const *)"tid == 1", |
|
6177 |
vgPlain_assert_fail((Bool )1, (Char const *)"tid == 1", |
| 6178 |
(Char const *)"m_scheduler/scheduler.c", 1045, |
|
6178 |
(Char const *)"m_scheduler/scheduler.c", 1045, |
| 6179 |
(Char const *)"vgPlain_scheduler", ""); |
|
6179 |
(Char const *)"vgPlain_scheduler", ""); |
| 6180 |
} |
|
6180 |
} |
| 6181 |
vgdb_startup_action_done = (Bool )1; |
|
6181 |
vgdb_startup_action_done = (Bool )1; |
| 6182 |
if ((unsigned int )vgPlain_clo_vgdb != 0U) { |
|
6182 |
if ((unsigned int )vgPlain_clo_vgdb != 0U) { |
| 6183 |
if (vgPlain_clo_vgdb_poll) { |
|
6183 |
if (vgPlain_clo_vgdb_poll) { |
| 6184 |
vgPlain_force_vgdb_poll(); |
|
6184 |
vgPlain_force_vgdb_poll(); |
| 6185 |
} else { |
|
6185 |
} else { |
| 6186 |
vgPlain_disable_vgdb_poll(); |
|
6186 |
vgPlain_disable_vgdb_poll(); |
| 6187 |
} |
|
6187 |
} |
| 6188 |
tmp___1 = __builtin_expect((long )(! (! (vgPlain_dyn_vgdb_error == vgPlain_clo_vgdb_error))), |
|
6188 |
tmp___1 = __builtin_expect((long )(! (! (vgPlain_dyn_vgdb_error == vgPlain_clo_vgdb_error))), |
| 6189 |
1L); |
|
6189 |
1L); |
| 6190 |
if (tmp___1) { |
|
6190 |
if (tmp___1) { |
| 6191 |
|
|
6191 |
|
| 6192 |
} else { |
|
6192 |
} else { |
| 6193 |
vgPlain_assert_fail((Bool )1, |
|
6193 |
vgPlain_assert_fail((Bool )1, |
| 6194 |
(Char const *)"VG_(dyn_vgdb_error) == VG_(clo_vgdb_error)", |
|
6194 |
(Char const *)"VG_(dyn_vgdb_error) == VG_(clo_vgdb_error)", |
| 6195 |
(Char const *)"m_scheduler/scheduler.c", 1056, |
|
6195 |
(Char const *)"m_scheduler/scheduler.c", 1056, |
| 6196 |
(Char const *)"vgPlain_scheduler", ""); |
|
6196 |
(Char const *)"vgPlain_scheduler", ""); |
| 6197 |
} |
|
6197 |
} |
| 6198 |
vgPlain_gdbserver_prerun_action((ThreadId )1); |
|
6198 |
vgPlain_gdbserver_prerun_action((ThreadId )1); |
| 6199 |
} else { |
|
6199 |
} else { |
| 6200 |
vgPlain_disable_vgdb_poll(); |
|
6200 |
vgPlain_disable_vgdb_poll(); |
| 6201 |
} |
|
6201 |
} |
| 6202 |
} else { |
|
6202 |
} else { |
| 6203 |
|
|
6203 |
|
| 6204 |
} |
|
6204 |
} |
| 6205 |
block_signals(); |
|
6205 |
block_signals(); |
| 6206 |
tmp___2 = vgPlain_is_running_thread(tid); |
|
6206 |
tmp___2 = vgPlain_is_running_thread(tid); |
| 6207 |
if (tmp___2) { |
|
6207 |
if (tmp___2) { |
| 6208 |
tmp___3 = 1; |
|
6208 |
tmp___3 = 1; |
| 6209 |
} else { |
|
6209 |
} else { |
| 6210 |
tmp___3 = 0; |
|
6210 |
tmp___3 = 0; |
| 6211 |
} |
|
6211 |
} |
| 6212 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
|
6212 |
tmp___4 = __builtin_expect((long )tmp___3, 1L); |
| 6213 |
if (tmp___4) { |
|
6213 |
if (tmp___4) { |
| 6214 |
|
|
6214 |
|
| 6215 |
} else { |
|
6215 |
} else { |
| 6216 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
|
6216 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
| 6217 |
(Char const *)"m_scheduler/scheduler.c", 1069, |
|
6217 |
(Char const *)"m_scheduler/scheduler.c", 1069, |
| 6218 |
(Char const *)"vgPlain_scheduler", ""); |
|
6218 |
(Char const *)"vgPlain_scheduler", ""); |
| 6219 |
} |
|
6219 |
} |
| 6220 |
vgPlain_dispatch_ctr = (UInt )100001; |
|
6220 |
vgPlain_dispatch_ctr = (UInt )100001; |
| 6221 |
while (1) { |
|
6221 |
while (1) { |
| 6222 |
tmp___22 = vgPlain_is_exiting(tid); |
|
6222 |
tmp___22 = vgPlain_is_exiting(tid); |
| 6223 |
if (tmp___22) { |
|
6223 |
if (tmp___22) { |
| 6224 |
break; |
|
6224 |
break; |
| 6225 |
} else { |
|
6225 |
} else { |
| 6226 |
|
|
6226 |
|
| 6227 |
} |
|
6227 |
} |
| 6228 |
if (vgPlain_dispatch_ctr == 1U) { |
|
6228 |
if (vgPlain_dispatch_ctr == 1U) { |
| 6229 |
vgPlain_release_BigLock(tid, (ThreadStatus )4, |
|
6229 |
vgPlain_release_BigLock(tid, (ThreadStatus )4, |
| 6230 |
(HChar *)"VG_(scheduler):timeslice"); |
|
6230 |
(HChar *)"VG_(scheduler):timeslice"); |
| 6231 |
vgPlain_acquire_BigLock(tid, (HChar *)"VG_(scheduler):timeslice"); |
|
6231 |
vgPlain_acquire_BigLock(tid, (HChar *)"VG_(scheduler):timeslice"); |
| 6232 |
scheduler_sanity(tid); |
|
6232 |
scheduler_sanity(tid); |
| 6233 |
vgPlain_sanity_check_general((Bool )0); |
|
6233 |
vgPlain_sanity_check_general((Bool )0); |
| 6234 |
vgPlain_poll_signals(tid); |
|
6234 |
vgPlain_poll_signals(tid); |
| 6235 |
tmp___5 = vgPlain_is_exiting(tid); |
|
6235 |
tmp___5 = vgPlain_is_exiting(tid); |
| 6236 |
if (tmp___5) { |
|
6236 |
if (tmp___5) { |
| 6237 |
break; |
|
6237 |
break; |
| 6238 |
} else { |
|
6238 |
} else { |
| 6239 |
|
|
6239 |
|
| 6240 |
} |
|
6240 |
} |
| 6241 |
n_scheduling_events_MAJOR ++; |
|
6241 |
n_scheduling_events_MAJOR ++; |
| 6242 |
vgPlain_dispatch_ctr = (UInt )100001; |
|
6242 |
vgPlain_dispatch_ctr = (UInt )100001; |
| 6243 |
tmp___6 = __builtin_expect((long )(! (! (tst->tid == tid))), 1L); |
|
6243 |
tmp___6 = __builtin_expect((long )(! (! (tst->tid == tid))), 1L); |
| 6244 |
if (tmp___6) { |
|
6244 |
if (tmp___6) { |
| 6245 |
|
|
6245 |
|
| 6246 |
} else { |
|
6246 |
} else { |
| 6247 |
vgPlain_assert_fail((Bool )1, (Char const *)"tst->tid == tid", |
|
6247 |
vgPlain_assert_fail((Bool )1, (Char const *)"tst->tid == tid", |
| 6248 |
(Char const *)"m_scheduler/scheduler.c", 1147, |
|
6248 |
(Char const *)"m_scheduler/scheduler.c", 1147, |
| 6249 |
(Char const *)"vgPlain_scheduler", ""); |
|
6249 |
(Char const *)"vgPlain_scheduler", ""); |
| 6250 |
} |
|
6250 |
} |
| 6251 |
tmp___7 = vgPlain_gettid(); |
|
6251 |
tmp___7 = vgPlain_gettid(); |
| 6252 |
if (tst->os_state.lwpid == tmp___7) { |
|
6252 |
if (tst->os_state.lwpid == tmp___7) { |
| 6253 |
tmp___8 = 1; |
|
6253 |
tmp___8 = 1; |
| 6254 |
} else { |
|
6254 |
} else { |
| 6255 |
tmp___8 = 0; |
|
6255 |
tmp___8 = 0; |
| 6256 |
} |
|
6256 |
} |
| 6257 |
tmp___9 = __builtin_expect((long )tmp___8, 1L); |
|
6257 |
tmp___9 = __builtin_expect((long )tmp___8, 1L); |
| 6258 |
if (tmp___9) { |
|
6258 |
if (tmp___9) { |
| 6259 |
|
|
6259 |
|
| 6260 |
} else { |
|
6260 |
} else { |
| 6261 |
vgPlain_assert_fail((Bool )1, |
|
6261 |
vgPlain_assert_fail((Bool )1, |
| 6262 |
(Char const *)"tst->os_state.lwpid == VG_(gettid)()", |
|
6262 |
(Char const *)"tst->os_state.lwpid == VG_(gettid)()", |
| 6263 |
(Char const *)"m_scheduler/scheduler.c", 1148, |
|
6263 |
(Char const *)"m_scheduler/scheduler.c", 1148, |
| 6264 |
(Char const *)"vgPlain_scheduler", ""); |
|
6264 |
(Char const *)"vgPlain_scheduler", ""); |
| 6265 |
} |
|
6265 |
} |
| 6266 |
} else { |
|
6266 |
} else { |
| 6267 |
|
|
6267 |
|
| 6268 |
} |
|
6268 |
} |
| 6269 |
n_scheduling_events_MINOR ++; |
|
6269 |
n_scheduling_events_MINOR ++; |
| 6270 |
trc = run_thread_for_a_while(tid); |
|
6270 |
trc = run_thread_for_a_while(tid); |
| 6271 |
if (vgPlain_clo_trace_sched) { |
|
6271 |
if (vgPlain_clo_trace_sched) { |
| 6272 |
if (vgPlain_clo_verbosity > 2) { |
|
6272 |
if (vgPlain_clo_verbosity > 2) { |
| 6273 |
tmp___10 = name_of_sched_event(trc); |
|
6273 |
tmp___10 = name_of_sched_event(trc); |
| 6274 |
vgPlain_sprintf(buf, "TRC: %s", tmp___10); |
|
6274 |
vgPlain_sprintf(buf, "TRC: %s", tmp___10); |
| 6275 |
print_sched_event(tid, buf); |
|
6275 |
print_sched_event(tid, buf); |
| 6276 |
} else { |
|
6276 |
} else { |
| 6277 |
|
|
6277 |
|
| 6278 |
} |
|
6278 |
} |
| 6279 |
} else { |
|
6279 |
} else { |
| 6280 |
|
|
6280 |
|
| 6281 |
} |
|
6281 |
} |
| 6282 |
if (trc == 81U) { |
|
6282 |
if (trc == 81U) { |
| 6283 |
trc = handle_noredir_jump(tid); |
|
6283 |
trc = handle_noredir_jump(tid); |
| 6284 |
tmp___11 = __builtin_expect((long )(! (! (trc != 81U))), 1L); |
|
6284 |
tmp___11 = __builtin_expect((long )(! (! (trc != 81U))), 1L); |
| 6285 |
if (tmp___11) { |
|
6285 |
if (tmp___11) { |
| 6286 |
|
|
6286 |
|
| 6287 |
} else { |
|
6287 |
} else { |
| 6288 |
vgPlain_assert_fail((Bool )1, |
|
6288 |
vgPlain_assert_fail((Bool )1, |
| 6289 |
(Char const *)"trc != VEX_TRC_JMP_NOREDIR", |
|
6289 |
(Char const *)"trc != VEX_TRC_JMP_NOREDIR", |
| 6290 |
(Char const *)"m_scheduler/scheduler.c", 1175, |
|
6290 |
(Char const *)"m_scheduler/scheduler.c", 1175, |
| 6291 |
(Char const *)"vgPlain_scheduler", ""); |
|
6291 |
(Char const *)"vgPlain_scheduler", ""); |
| 6292 |
} |
|
6292 |
} |
| 6293 |
} else { |
|
6293 |
} else { |
| 6294 |
|
|
6294 |
|
| 6295 |
} |
|
6295 |
} |
| 6296 |
switch (trc) { |
|
6296 |
switch (trc) { |
| 6297 |
case 29U: |
|
6297 |
case 29U: |
| 6298 |
break; |
|
6298 |
break; |
| 6299 |
case 37U: |
|
6299 |
case 37U: |
| 6300 |
tmp___12 = __builtin_expect((long )(! (! (vgPlain_dispatch_ctr > 1U))), 1L); |
|
6300 |
tmp___12 = __builtin_expect((long )(! (! (vgPlain_dispatch_ctr > 1U))), 1L); |
| 6301 |
if (tmp___12) { |
|
6301 |
if (tmp___12) { |
| 6302 |
|
|
6302 |
|
| 6303 |
} else { |
|
6303 |
} else { |
| 6304 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(dispatch_ctr) > 1", |
|
6304 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(dispatch_ctr) > 1", |
| 6305 |
(Char const *)"m_scheduler/scheduler.c", 1184, |
|
6305 |
(Char const *)"m_scheduler/scheduler.c", 1184, |
| 6306 |
(Char const *)"vgPlain_scheduler", ""); |
|
6306 |
(Char const *)"vgPlain_scheduler", ""); |
| 6307 |
} |
|
6307 |
} |
| 6308 |
handle_tt_miss(tid); |
|
6308 |
handle_tt_miss(tid); |
| 6309 |
break; |
|
6309 |
break; |
| 6310 |
case 65U: |
|
6310 |
case 65U: |
| 6311 |
do_client_request(tid); |
|
6311 |
do_client_request(tid); |
| 6312 |
break; |
|
6312 |
break; |
| 6313 |
case 73U: |
|
6313 |
case 73U: |
| 6314 |
case 91U: |
|
6314 |
case 91U: |
| 6315 |
case 89U: |
|
6315 |
case 89U: |
| 6316 |
case 77U: |
|
6316 |
case 77U: |
| 6317 |
handle_syscall(tid, trc); |
|
6317 |
handle_syscall(tid, trc); |
| 6318 |
if (vgPlain_clo_sanity_level > 2) { |
|
6318 |
if (vgPlain_clo_sanity_level > 2) { |
| 6319 |
vgPlain_sanity_check_general((Bool )1); |
|
6319 |
vgPlain_sanity_check_general((Bool )1); |
| 6320 |
} else { |
|
6320 |
} else { |
| 6321 |
|
|
6321 |
|
| 6322 |
} |
|
6322 |
} |
| 6323 |
break; |
|
6323 |
break; |
| 6324 |
case 67U: |
|
6324 |
case 67U: |
| 6325 |
if (vgPlain_dispatch_ctr > 2000U) { |
|
6325 |
if (vgPlain_dispatch_ctr > 2000U) { |
| 6326 |
vgPlain_dispatch_ctr = (UInt )2000; |
|
6326 |
vgPlain_dispatch_ctr = (UInt )2000; |
| 6327 |
} else { |
|
6327 |
} else { |
| 6328 |
|
|
6328 |
|
| 6329 |
} |
|
6329 |
} |
| 6330 |
break; |
|
6330 |
break; |
| 6331 |
case 41U: |
|
6331 |
case 41U: |
| 6332 |
tmp___13 = __builtin_expect((long )(! (! (vgPlain_dispatch_ctr == 1U))), 1L); |
|
6332 |
tmp___13 = __builtin_expect((long )(! (! (vgPlain_dispatch_ctr == 1U))), 1L); |
| 6333 |
if (tmp___13) { |
|
6333 |
if (tmp___13) { |
| 6334 |
|
|
6334 |
|
| 6335 |
} else { |
|
6335 |
} else { |
| 6336 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(dispatch_ctr) == 1", |
|
6336 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(dispatch_ctr) == 1", |
| 6337 |
(Char const *)"m_scheduler/scheduler.c", 1215, |
|
6337 |
(Char const *)"m_scheduler/scheduler.c", 1215, |
| 6338 |
(Char const *)"vgPlain_scheduler", ""); |
|
6338 |
(Char const *)"vgPlain_scheduler", ""); |
| 6339 |
} |
|
6339 |
} |
| 6340 |
break; |
|
6340 |
break; |
| 6341 |
case 43U: |
|
6341 |
case 43U: |
| 6342 |
break; |
|
6342 |
break; |
| 6343 |
case 71U: |
|
6343 |
case 71U: |
| 6344 |
vgPlain_synth_fault(tid); |
|
6344 |
vgPlain_synth_fault(tid); |
| 6345 |
break; |
|
6345 |
break; |
| 6346 |
case 63U: |
|
6346 |
case 63U: |
| 6347 |
if (! counts_initted) { |
|
6347 |
if (! counts_initted) { |
| 6348 |
counts_initted = (Bool )1; |
|
6348 |
counts_initted = (Bool )1; |
| 6349 |
q = 0; |
|
6349 |
q = 0; |
| 6350 |
while (q < 10) { |
|
6350 |
while (q < 10) { |
| 6351 |
counts[q] = 0; |
|
6351 |
counts[q] = 0; |
| 6352 |
q ++; |
|
6352 |
q ++; |
| 6353 |
} |
|
6353 |
} |
| 6354 |
} else { |
|
6354 |
} else { |
| 6355 |
|
|
6355 |
|
| 6356 |
} |
|
6356 |
} |
| 6357 |
ew = (VexEmWarn )vgPlain_threads[tid].arch.vex.guest_EMWARN; |
|
6357 |
ew = (VexEmWarn )vgPlain_threads[tid].arch.vex.guest_EMWARN; |
| 6358 |
if ((unsigned int )ew < 0U) { |
|
6358 |
if ((unsigned int )ew < 0U) { |
| 6359 |
what = (HChar *)"unknown (?!)"; |
|
6359 |
what = (HChar *)"unknown (?!)"; |
| 6360 |
} else |
|
6360 |
} else |
| 6361 |
if ((unsigned int )ew >= 10U) { |
|
6361 |
if ((unsigned int )ew >= 10U) { |
| 6362 |
what = (HChar *)"unknown (?!)"; |
|
6362 |
what = (HChar *)"unknown (?!)"; |
| 6363 |
} else { |
|
6363 |
} else { |
| 6364 |
tmp___14 = LibVEX_EmWarn_string(ew); |
|
6364 |
tmp___14 = LibVEX_EmWarn_string(ew); |
| 6365 |
what = tmp___14; |
|
6365 |
what = tmp___14; |
| 6366 |
} |
|
6366 |
} |
| 6367 |
if ((unsigned int )ew < 0U) { |
|
6367 |
if ((unsigned int )ew < 0U) { |
| 6368 |
show = (Bool )1; |
|
6368 |
show = (Bool )1; |
| 6369 |
} else |
|
6369 |
} else |
| 6370 |
if ((unsigned int )ew >= 10U) { |
|
6370 |
if ((unsigned int )ew >= 10U) { |
| 6371 |
show = (Bool )1; |
|
6371 |
show = (Bool )1; |
| 6372 |
} else { |
|
6372 |
} else { |
| 6373 |
tmp___15 = counts[ew]; |
|
6373 |
tmp___15 = counts[ew]; |
| 6374 |
(counts[ew]) ++; |
|
6374 |
(counts[ew]) ++; |
| 6375 |
show = (Bool )(tmp___15 < 3); |
|
6375 |
show = (Bool )(tmp___15 < 3); |
| 6376 |
} |
|
6376 |
} |
| 6377 |
if (show) { |
|
6377 |
if (show) { |
| 6378 |
if (vgPlain_clo_show_emwarns) { |
|
6378 |
if (vgPlain_clo_show_emwarns) { |
| 6379 |
if (! vgPlain_clo_xml) { |
|
6379 |
if (! vgPlain_clo_xml) { |
| 6380 |
vgPlain_message((VgMsgKind )1, |
|
6380 |
vgPlain_message((VgMsgKind )1, |
| 6381 |
"Emulation warning: unsupported action:\n"); |
|
6381 |
"Emulation warning: unsupported action:\n"); |
| 6382 |
vgPlain_message((VgMsgKind )1, " %s\n", what); |
|
6382 |
vgPlain_message((VgMsgKind )1, " %s\n", what); |
| 6383 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )vgPlain_clo_backtrace_size); |
|
6383 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )vgPlain_clo_backtrace_size); |
| 6384 |
} else { |
|
6384 |
} else { |
| 6385 |
|
|
6385 |
|
| 6386 |
} |
|
6386 |
} |
| 6387 |
} else { |
|
6387 |
} else { |
| 6388 |
|
|
6388 |
|
| 6389 |
} |
|
6389 |
} |
| 6390 |
} else { |
|
6390 |
} else { |
| 6391 |
|
|
6391 |
|
| 6392 |
} |
|
6392 |
} |
| 6393 |
break; |
|
6393 |
break; |
| 6394 |
case 83U: |
|
6394 |
case 83U: |
| 6395 |
ew___0 = (VexEmWarn )vgPlain_threads[tid].arch.vex.guest_EMWARN; |
|
6395 |
ew___0 = (VexEmWarn )vgPlain_threads[tid].arch.vex.guest_EMWARN; |
| 6396 |
if ((unsigned int )ew___0 < 0U) { |
|
6396 |
if ((unsigned int )ew___0 < 0U) { |
| 6397 |
what___0 = (HChar *)"unknown (?!)"; |
|
6397 |
what___0 = (HChar *)"unknown (?!)"; |
| 6398 |
} else |
|
6398 |
} else |
| 6399 |
if ((unsigned int )ew___0 >= 10U) { |
|
6399 |
if ((unsigned int )ew___0 >= 10U) { |
| 6400 |
what___0 = (HChar *)"unknown (?!)"; |
|
6400 |
what___0 = (HChar *)"unknown (?!)"; |
| 6401 |
} else { |
|
6401 |
} else { |
| 6402 |
tmp___16 = LibVEX_EmWarn_string(ew___0); |
|
6402 |
tmp___16 = LibVEX_EmWarn_string(ew___0); |
| 6403 |
what___0 = tmp___16; |
|
6403 |
what___0 = tmp___16; |
| 6404 |
} |
|
6404 |
} |
| 6405 |
vgPlain_message((VgMsgKind )1, |
|
6405 |
vgPlain_message((VgMsgKind )1, |
| 6406 |
"Emulation fatal error -- Valgrind cannot continue:\n"); |
|
6406 |
"Emulation fatal error -- Valgrind cannot continue:\n"); |
| 6407 |
vgPlain_message((VgMsgKind )1, " %s\n", what___0); |
|
6407 |
vgPlain_message((VgMsgKind )1, " %s\n", what___0); |
| 6408 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )vgPlain_clo_backtrace_size); |
|
6408 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )vgPlain_clo_backtrace_size); |
| 6409 |
vgPlain_message((VgMsgKind )1, "\n"); |
|
6409 |
vgPlain_message((VgMsgKind )1, "\n"); |
| 6410 |
vgPlain_message((VgMsgKind )1, "Valgrind has to exit now. Sorry.\n"); |
|
6410 |
vgPlain_message((VgMsgKind )1, "Valgrind has to exit now. Sorry.\n"); |
| 6411 |
vgPlain_message((VgMsgKind )1, "\n"); |
|
6411 |
vgPlain_message((VgMsgKind )1, "\n"); |
| 6412 |
vgPlain_exit(1); |
|
6412 |
vgPlain_exit(1); |
| 6413 |
break; |
|
6413 |
break; |
| 6414 |
case 85U: |
|
6414 |
case 85U: |
| 6415 |
vgPlain_synth_sigtrap(tid); |
|
6415 |
vgPlain_synth_sigtrap(tid); |
| 6416 |
break; |
|
6416 |
break; |
| 6417 |
case 87U: |
|
6417 |
case 87U: |
| 6418 |
vgPlain_synth_fault(tid); |
|
6418 |
vgPlain_synth_fault(tid); |
| 6419 |
break; |
|
6419 |
break; |
| 6420 |
case 93U: |
|
6420 |
case 93U: |
| 6421 |
vgPlain_synth_sigbus(tid); |
|
6421 |
vgPlain_synth_sigbus(tid); |
| 6422 |
break; |
|
6422 |
break; |
| 6423 |
case 69U: |
|
6423 |
case 69U: |
| 6424 |
tmp___17 = vgPlain_get_IP(tid); |
|
6424 |
tmp___17 = vgPlain_get_IP(tid); |
| 6425 |
vgPlain_umsg("valgrind: Unrecognised instruction at address %#lx.\n", |
|
6425 |
vgPlain_umsg("valgrind: Unrecognised instruction at address %#lx.\n", |
| 6426 |
tmp___17); |
|
6426 |
tmp___17); |
| 6427 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )50); |
|
6427 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )50); |
| 6428 |
vgPlain_umsg("Your program just tried to execute an instruction that Valgrind\n"); |
|
6428 |
vgPlain_umsg("Your program just tried to execute an instruction that Valgrind\n"); |
| 6429 |
vgPlain_umsg("did not recognise. There are two possible reasons for this.\n"); |
|
6429 |
vgPlain_umsg("did not recognise. There are two possible reasons for this.\n"); |
| 6430 |
vgPlain_umsg("1. Your program has a bug and erroneously jumped to a non-code\n"); |
|
6430 |
vgPlain_umsg("1. Your program has a bug and erroneously jumped to a non-code\n"); |
| 6431 |
vgPlain_umsg(" location. If you are running Memcheck and you just saw a\n"); |
|
6431 |
vgPlain_umsg(" location. If you are running Memcheck and you just saw a\n"); |
| 6432 |
vgPlain_umsg(" warning about a bad jump, it\'s probably your program\'s fault.\n"); |
|
6432 |
vgPlain_umsg(" warning about a bad jump, it\'s probably your program\'s fault.\n"); |
| 6433 |
vgPlain_umsg("2. The instruction is legitimate but Valgrind doesn\'t handle it,\n"); |
|
6433 |
vgPlain_umsg("2. The instruction is legitimate but Valgrind doesn\'t handle it,\n"); |
| 6434 |
vgPlain_umsg(" i.e. it\'s Valgrind\'s fault. If you think this is the case or\n"); |
|
6434 |
vgPlain_umsg(" i.e. it\'s Valgrind\'s fault. If you think this is the case or\n"); |
| 6435 |
vgPlain_umsg(" you are not sure, please let us know and we\'ll try to fix it.\n"); |
|
6435 |
vgPlain_umsg(" you are not sure, please let us know and we\'ll try to fix it.\n"); |
| 6436 |
vgPlain_umsg("Either way, Valgrind will now raise a SIGILL signal which will\n"); |
|
6436 |
vgPlain_umsg("Either way, Valgrind will now raise a SIGILL signal which will\n"); |
| 6437 |
vgPlain_umsg("probably kill your program.\n"); |
|
6437 |
vgPlain_umsg("probably kill your program.\n"); |
| 6438 |
tmp___18 = vgPlain_get_IP(tid); |
|
6438 |
tmp___18 = vgPlain_get_IP(tid); |
| 6439 |
vgPlain_synth_sigill(tid, tmp___18); |
|
6439 |
vgPlain_synth_sigill(tid, tmp___18); |
| 6440 |
break; |
|
6440 |
break; |
| 6441 |
case 61U: |
|
6441 |
case 61U: |
| 6442 |
vgPlain_discard_translations((Addr64 )vgPlain_threads[tid].arch.vex.guest_TISTART, |
|
6442 |
vgPlain_discard_translations((Addr64 )vgPlain_threads[tid].arch.vex.guest_TISTART, |
| 6443 |
(ULong )vgPlain_threads[tid].arch.vex.guest_TILEN, |
|
6443 |
(ULong )vgPlain_threads[tid].arch.vex.guest_TILEN, |
| 6444 |
(HChar *)"scheduler(VEX_TRC_JMP_TINVAL)"); |
|
6444 |
(HChar *)"scheduler(VEX_TRC_JMP_TINVAL)"); |
| 6445 |
break; |
|
6445 |
break; |
| 6446 |
case 47U: |
|
6446 |
case 47U: |
| 6447 |
tmp___19 = __builtin_expect(0L, 1L); |
|
6447 |
tmp___19 = __builtin_expect(0L, 1L); |
| 6448 |
if (tmp___19) { |
|
6448 |
if (tmp___19) { |
| 6449 |
|
|
6449 |
|
| 6450 |
} else { |
|
6450 |
} else { |
| 6451 |
vgPlain_assert_fail((Bool )1, (Char const *)"0", |
|
6451 |
vgPlain_assert_fail((Bool )1, (Char const *)"0", |
| 6452 |
(Char const *)"m_scheduler/scheduler.c", 1334, |
|
6452 |
(Char const *)"m_scheduler/scheduler.c", 1334, |
| 6453 |
(Char const *)"vgPlain_scheduler", |
|
6453 |
(Char const *)"vgPlain_scheduler", |
| 6454 |
"VG_(scheduler), phase 3: run_innerloop detected host state invariant failure", |
|
6454 |
"VG_(scheduler), phase 3: run_innerloop detected host state invariant failure", |
| 6455 |
trc); |
|
6455 |
trc); |
| 6456 |
} |
|
6456 |
} |
| 6457 |
case 79U: |
|
6457 |
case 79U: |
| 6458 |
tmp___20 = __builtin_expect(0L, 1L); |
|
6458 |
tmp___20 = __builtin_expect(0L, 1L); |
| 6459 |
if (tmp___20) { |
|
6459 |
if (tmp___20) { |
| 6460 |
|
|
6460 |
|
| 6461 |
} else { |
|
6461 |
} else { |
| 6462 |
vgPlain_assert_fail((Bool )1, (Char const *)"0", |
|
6462 |
vgPlain_assert_fail((Bool )1, (Char const *)"0", |
| 6463 |
(Char const *)"m_scheduler/scheduler.c", 1346, |
|
6463 |
(Char const *)"m_scheduler/scheduler.c", 1346, |
| 6464 |
(Char const *)"vgPlain_scheduler", |
|
6464 |
(Char const *)"vgPlain_scheduler", |
| 6465 |
"VG_(scheduler), phase 3: sysenter_x86 on x86-linux is not supported"); |
|
6465 |
"VG_(scheduler), phase 3: sysenter_x86 on x86-linux is not supported"); |
| 6466 |
} |
|
6466 |
} |
| 6467 |
break; |
|
6467 |
break; |
| 6468 |
default: |
|
6468 |
default: |
| 6469 |
tmp___21 = __builtin_expect(0L, 1L); |
|
6469 |
tmp___21 = __builtin_expect(0L, 1L); |
| 6470 |
if (tmp___21) { |
|
6470 |
if (tmp___21) { |
| 6471 |
|
|
6471 |
|
| 6472 |
} else { |
|
6472 |
} else { |
| 6473 |
vgPlain_assert_fail((Bool )1, (Char const *)"0", |
|
6473 |
vgPlain_assert_fail((Bool )1, (Char const *)"0", |
| 6474 |
(Char const *)"m_scheduler/scheduler.c", 1360, |
|
6474 |
(Char const *)"m_scheduler/scheduler.c", 1360, |
| 6475 |
(Char const *)"vgPlain_scheduler", |
|
6475 |
(Char const *)"vgPlain_scheduler", |
| 6476 |
"VG_(scheduler), phase 3: unexpected thread return code (%u)", |
|
6476 |
"VG_(scheduler), phase 3: unexpected thread return code (%u)", |
| 6477 |
trc); |
|
6477 |
trc); |
| 6478 |
} |
|
6478 |
} |
| 6479 |
break; |
|
6479 |
break; |
| 6480 |
} |
|
6480 |
} |
| 6481 |
} |
|
6481 |
} |
| 6482 |
if (vgPlain_clo_trace_sched) { |
|
6482 |
if (vgPlain_clo_trace_sched) { |
| 6483 |
print_sched_event(tid, (Char *)"exiting VG_(scheduler)"); |
|
6483 |
print_sched_event(tid, (Char *)"exiting VG_(scheduler)"); |
| 6484 |
} else { |
|
6484 |
} else { |
| 6485 |
|
|
6485 |
|
| 6486 |
} |
|
6486 |
} |
| 6487 |
tmp___23 = vgPlain_is_exiting(tid); |
|
6487 |
tmp___23 = vgPlain_is_exiting(tid); |
| 6488 |
if (tmp___23) { |
|
6488 |
if (tmp___23) { |
| 6489 |
tmp___24 = 1; |
|
6489 |
tmp___24 = 1; |
| 6490 |
} else { |
|
6490 |
} else { |
| 6491 |
tmp___24 = 0; |
|
6491 |
tmp___24 = 0; |
| 6492 |
} |
|
6492 |
} |
| 6493 |
tmp___25 = __builtin_expect((long )tmp___24, 1L); |
|
6493 |
tmp___25 = __builtin_expect((long )tmp___24, 1L); |
| 6494 |
if (tmp___25) { |
|
6494 |
if (tmp___25) { |
| 6495 |
|
|
6495 |
|
| 6496 |
} else { |
|
6496 |
} else { |
| 6497 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_exiting)(tid)", |
|
6497 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_exiting)(tid)", |
| 6498 |
(Char const *)"m_scheduler/scheduler.c", 1373, |
|
6498 |
(Char const *)"m_scheduler/scheduler.c", 1373, |
| 6499 |
(Char const *)"vgPlain_scheduler", ""); |
|
6499 |
(Char const *)"vgPlain_scheduler", ""); |
| 6500 |
} |
|
6500 |
} |
| 6501 |
return (tst->exitreason); |
|
6501 |
return (tst->exitreason); |
| 6502 |
} |
|
6502 |
} |
| 6503 |
} |
|
6503 |
} |
| 6504 |
void vgPlain_nuke_all_threads_except(ThreadId me , VgSchedReturnCode src ) |
|
6504 |
void vgPlain_nuke_all_threads_except(ThreadId me , VgSchedReturnCode src ) |
| 6505 |
{ |
|
6505 |
{ |
| 6506 |
ThreadId tid ; |
|
6506 |
ThreadId tid ; |
| 6507 |
Bool tmp ; |
|
6507 |
Bool tmp ; |
| 6508 |
int tmp___0 ; |
|
6508 |
int tmp___0 ; |
| 6509 |
long tmp___1 ; |
|
6509 |
long tmp___1 ; |
| 6510 |
|
|
6510 |
|
| 6511 |
{ |
|
6511 |
{ |
| 6512 |
tmp = vgPlain_is_running_thread(me); |
|
6512 |
tmp = vgPlain_is_running_thread(me); |
| 6513 |
if (tmp) { |
|
6513 |
if (tmp) { |
| 6514 |
tmp___0 = 1; |
|
6514 |
tmp___0 = 1; |
| 6515 |
} else { |
|
6515 |
} else { |
| 6516 |
tmp___0 = 0; |
|
6516 |
tmp___0 = 0; |
| 6517 |
} |
|
6517 |
} |
| 6518 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
|
6518 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
| 6519 |
if (tmp___1) { |
|
6519 |
if (tmp___1) { |
| 6520 |
|
|
6520 |
|
| 6521 |
} else { |
|
6521 |
} else { |
| 6522 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(me)", |
|
6522 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(me)", |
| 6523 |
(Char const *)"m_scheduler/scheduler.c", 1388, |
|
6523 |
(Char const *)"m_scheduler/scheduler.c", 1388, |
| 6524 |
(Char const *)"vgPlain_nuke_all_threads_except", ""); |
|
6524 |
(Char const *)"vgPlain_nuke_all_threads_except", ""); |
| 6525 |
} |
|
6525 |
} |
| 6526 |
tid = (ThreadId )1; |
|
6526 |
tid = (ThreadId )1; |
| 6527 |
while (tid < 500U) { |
|
6527 |
while (tid < 500U) { |
| 6528 |
if (tid == me) { |
|
6528 |
if (tid == me) { |
| 6529 |
goto __Cont; |
|
6529 |
goto __Cont; |
| 6530 |
} else |
|
6530 |
} else |
| 6531 |
if ((unsigned int )vgPlain_threads[tid].status == 0U) { |
|
6531 |
if ((unsigned int )vgPlain_threads[tid].status == 0U) { |
| 6532 |
goto __Cont; |
|
6532 |
goto __Cont; |
| 6533 |
} else { |
|
6533 |
} else { |
| 6534 |
|
|
6534 |
|
| 6535 |
} |
|
6535 |
} |
| 6536 |
vgPlain_threads[tid].exitreason = src; |
|
6536 |
vgPlain_threads[tid].exitreason = src; |
| 6537 |
if ((unsigned int )src == 3U) { |
|
6537 |
if ((unsigned int )src == 3U) { |
| 6538 |
vgPlain_threads[tid].os_state.fatalsig = 9; |
|
6538 |
vgPlain_threads[tid].os_state.fatalsig = 9; |
| 6539 |
} else { |
|
6539 |
} else { |
| 6540 |
|
|
6540 |
|
| 6541 |
} |
|
6541 |
} |
| 6542 |
vgPlain_get_thread_out_of_syscall(tid); |
|
6542 |
vgPlain_get_thread_out_of_syscall(tid); |
| 6543 |
__Cont: |
|
6543 |
__Cont: |
| 6544 |
tid ++; |
|
6544 |
tid ++; |
| 6545 |
} |
|
6545 |
} |
| 6546 |
return; |
|
6546 |
return; |
| 6547 |
} |
|
6547 |
} |
| 6548 |
} |
|
6548 |
} |
| 6549 |
static Bool os_client_request(ThreadId tid , UWord *args ) |
|
6549 |
static Bool os_client_request(ThreadId tid , UWord *args ) |
| 6550 |
{ |
|
6550 |
{ |
| 6551 |
Bool handled ; |
|
6551 |
Bool handled ; |
| 6552 |
Bool tmp ; |
|
6552 |
Bool tmp ; |
| 6553 |
int tmp___0 ; |
|
6553 |
int tmp___0 ; |
| 6554 |
long tmp___1 ; |
|
6554 |
long tmp___1 ; |
| 6555 |
|
|
6555 |
|
| 6556 |
{ |
|
6556 |
{ |
| 6557 |
handled = (Bool )1; |
|
6557 |
handled = (Bool )1; |
| 6558 |
tmp = vgPlain_is_running_thread(tid); |
|
6558 |
tmp = vgPlain_is_running_thread(tid); |
| 6559 |
if (tmp) { |
|
6559 |
if (tmp) { |
| 6560 |
tmp___0 = 1; |
|
6560 |
tmp___0 = 1; |
| 6561 |
} else { |
|
6561 |
} else { |
| 6562 |
tmp___0 = 0; |
|
6562 |
tmp___0 = 0; |
| 6563 |
} |
|
6563 |
} |
| 6564 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
|
6564 |
tmp___1 = __builtin_expect((long )tmp___0, 1L); |
| 6565 |
if (tmp___1) { |
|
6565 |
if (tmp___1) { |
| 6566 |
|
|
6566 |
|
| 6567 |
} else { |
|
6567 |
} else { |
| 6568 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
|
6568 |
vgPlain_assert_fail((Bool )1, (Char const *)"VG_(is_running_thread)(tid)", |
| 6569 |
(Char const *)"m_scheduler/scheduler.c", 1458, |
|
6569 |
(Char const *)"m_scheduler/scheduler.c", 1458, |
| 6570 |
(Char const *)"os_client_request", ""); |
|
6570 |
(Char const *)"os_client_request", ""); |
| 6571 |
} |
|
6571 |
} |
| 6572 |
switch (*(args + 0)) { |
|
6572 |
switch (*(args + 0)) { |
| 6573 |
case 12329UL: |
|
6573 |
case 12329UL: |
| 6574 |
if (vgPlain_clo_trace_syscalls) { |
|
6574 |
if (vgPlain_clo_trace_syscalls) { |
| 6575 |
vgPlain_message((VgMsgKind )2, "__libc_freeres() done; really quitting!\n"); |
|
6575 |
vgPlain_message((VgMsgKind )2, "__libc_freeres() done; really quitting!\n"); |
| 6576 |
} else |
|
6576 |
} else |
| 6577 |
if (vgPlain_clo_trace_sched) { |
|
6577 |
if (vgPlain_clo_trace_sched) { |
| 6578 |
vgPlain_message((VgMsgKind )2, "__libc_freeres() done; really quitting!\n"); |
|
6578 |
vgPlain_message((VgMsgKind )2, "__libc_freeres() done; really quitting!\n"); |
| 6579 |
} else { |
|
6579 |
} else { |
| 6580 |
|
|
6580 |
|
| 6581 |
} |
|
6581 |
} |
| 6582 |
vgPlain_threads[tid].exitreason = (VgSchedReturnCode )1; |
|
6582 |
vgPlain_threads[tid].exitreason = (VgSchedReturnCode )1; |
| 6583 |
break; |
|
6583 |
break; |
| 6584 |
default: |
|
6584 |
default: |
| 6585 |
handled = (Bool )0; |
|
6585 |
handled = (Bool )0; |
| 6586 |
break; |
|
6586 |
break; |
| 6587 |
} |
|
6587 |
} |
| 6588 |
return (handled); |
|
6588 |
return (handled); |
| 6589 |
} |
|
6589 |
} |
| 6590 |
} |
|
6590 |
} |
| 6591 |
static void do_client_request(ThreadId tid ) ; |
|
6591 |
static void do_client_request(ThreadId tid ) ; |
| 6592 |
static Bool whined = (Bool )0; |
|
6592 |
static Bool whined = (Bool )0; |
| 6593 |
static void do_client_request(ThreadId tid ) |
|
6593 |
static void do_client_request(ThreadId tid ) |
| 6594 |
{ |
|
6594 |
{ |
| 6595 |
UWord *arg ; |
|
6595 |
UWord *arg ; |
| 6596 |
UWord req_no ; |
|
6596 |
UWord req_no ; |
| 6597 |
UWord (*f)(ThreadId ) ; |
|
6597 |
UWord (*f)(ThreadId ) ; |
| 6598 |
UWord tmp ; |
|
6598 |
UWord tmp ; |
| 6599 |
UWord (*f___0)(ThreadId , UWord ) ; |
|
6599 |
UWord (*f___0)(ThreadId , UWord ) ; |
| 6600 |
UWord tmp___0 ; |
|
6600 |
UWord tmp___0 ; |
| 6601 |
UWord (*f___1)(ThreadId , UWord , UWord ) ; |
|
6601 |
UWord (*f___1)(ThreadId , UWord , UWord ) ; |
| 6602 |
UWord tmp___1 ; |
|
6602 |
UWord tmp___1 ; |
| 6603 |
UWord (*f___2)(ThreadId , UWord , UWord , UWord ) ; |
|
6603 |
UWord (*f___2)(ThreadId , UWord , UWord , UWord ) ; |
| 6604 |
UWord tmp___2 ; |
|
6604 |
UWord tmp___2 ; |
| 6605 |
unsigned int volatile _zzq_args[6] ; |
|
6605 |
unsigned int volatile _zzq_args[6] ; |
| 6606 |
unsigned int volatile _zzq_result ; |
|
6606 |
unsigned int volatile _zzq_result ; |
| 6607 |
union __anonunion_u_139 u ; |
|
6607 |
union __anonunion_u_139 u ; |
| 6608 |
Int count ; |
|
6608 |
Int count ; |
| 6609 |
UInt tmp___3 ; |
|
6609 |
UInt tmp___3 ; |
| 6610 |
union __anonunion_u_140 u___0 ; |
|
6610 |
union __anonunion_u_140 u___0 ; |
| 6611 |
Int count___0 ; |
|
6611 |
Int count___0 ; |
| 6612 |
UInt tmp___4 ; |
|
6612 |
UInt tmp___4 ; |
| 6613 |
va_list *vargsp ; |
|
6613 |
va_list *vargsp ; |
| 6614 |
Int count___1 ; |
|
6614 |
Int count___1 ; |
| 6615 |
UInt tmp___5 ; |
|
6615 |
UInt tmp___5 ; |
| 6616 |
va_list *vargsp___0 ; |
|
6616 |
va_list *vargsp___0 ; |
| 6617 |
Int count___2 ; |
|
6617 |
Int count___2 ; |
| 6618 |
UInt tmp___6 ; |
|
6618 |
UInt tmp___6 ; |
| 6619 |
va_list *vargsp___1 ; |
|
6619 |
va_list *vargsp___1 ; |
| 6620 |
Int count___3 ; |
|
6620 |
Int count___3 ; |
| 6621 |
UInt tmp___7 ; |
|
6621 |
UInt tmp___7 ; |
| 6622 |
UWord sid ; |
|
6622 |
UWord sid ; |
| 6623 |
UWord tmp___8 ; |
|
6623 |
UWord tmp___8 ; |
| 6624 |
struct vg_mallocfunc_info *info ; |
|
6624 |
struct vg_mallocfunc_info *info ; |
| 6625 |
Addr ip ; |
|
6625 |
Addr ip ; |
| 6626 |
UChar *buf64 ; |
|
6626 |
UChar *buf64 ; |
| 6627 |
UInt linenum ; |
|
6627 |
UInt linenum ; |
| 6628 |
Bool ok ; |
|
6628 |
Bool ok ; |
| 6629 |
Bool tmp___9 ; |
|
6629 |
Bool tmp___9 ; |
| 6630 |
UInt i ; |
|
6630 |
UInt i ; |
| 6631 |
long tmp___10 ; |
|
6631 |
long tmp___10 ; |
| 6632 |
UWord ret ; |
|
6632 |
UWord ret ; |
| 6633 |
long tmp___11 ; |
|
6633 |
long tmp___11 ; |
| 6634 |
Bool tmp___12 ; |
|
6634 |
Bool tmp___12 ; |
| 6635 |
Char c1 ; |
|
6635 |
Char c1 ; |
| 6636 |
Char c2 ; |
|
6636 |
Char c2 ; |
| 6637 |
Bool tmp___13 ; |
|
6637 |
Bool tmp___13 ; |
| 6638 |
long tmp___14 ; |
|
6638 |
long tmp___14 ; |
| 6639 |
|
|
6639 |
|
| 6640 |
{ |
|
6640 |
{ |
| 6641 |
arg = (UWord *)vgPlain_threads[tid].arch.vex.guest_EAX; |
|
6641 |
arg = (UWord *)vgPlain_threads[tid].arch.vex.guest_EAX; |
| 6642 |
req_no = *(arg + 0); |
|
6642 |
req_no = *(arg + 0); |
| 6643 |
switch (req_no) { |
|
6643 |
switch (req_no) { |
| 6644 |
case 4353UL: |
|
6644 |
case 4353UL: |
| 6645 |
f = (UWord (*)(ThreadId ))((void *)*(arg + 1)); |
|
6645 |
f = (UWord (*)(ThreadId ))((void *)*(arg + 1)); |
| 6646 |
if ((unsigned int )f == (unsigned int )((void *)0)) { |
|
6646 |
if ((unsigned int )f == (unsigned int )((void *)0)) { |
| 6647 |
vgPlain_message((VgMsgKind )2, "VG_USERREQ__CLIENT_CALL0: func=%p\n", f); |
|
6647 |
vgPlain_message((VgMsgKind )2, "VG_USERREQ__CLIENT_CALL0: func=%p\n", f); |
| 6648 |
} else { |
|
6648 |
} else { |
| 6649 |
while (1) { |
|
6649 |
while (1) { |
| 6650 |
tmp = (*f)(tid); |
|
6650 |
tmp = (*f)(tid); |
| 6651 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )tmp; |
|
6651 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )tmp; |
| 6652 |
while (1) { |
|
6652 |
while (1) { |
| 6653 |
if (vgPlain_tdict.track_post_reg_write_clientcall_return) { |
|
6653 |
if (vgPlain_tdict.track_post_reg_write_clientcall_return) { |
| 6654 |
(*(vgPlain_tdict.track_post_reg_write_clientcall_return))(tid, |
|
6654 |
(*(vgPlain_tdict.track_post_reg_write_clientcall_return))(tid, |
| 6655 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6655 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6656 |
(SizeT )sizeof(UWord ), |
|
6656 |
(SizeT )sizeof(UWord ), |
| 6657 |
(Addr )f); |
|
6657 |
(Addr )f); |
| 6658 |
} else { |
|
6658 |
} else { |
| 6659 |
|
|
6659 |
|
| 6660 |
} |
|
6660 |
} |
| 6661 |
break; |
|
6661 |
break; |
| 6662 |
} |
|
6662 |
} |
| 6663 |
break; |
|
6663 |
break; |
| 6664 |
} |
|
6664 |
} |
| 6665 |
} |
|
6665 |
} |
| 6666 |
break; |
|
6666 |
break; |
| 6667 |
case 4354UL: |
|
6667 |
case 4354UL: |
| 6668 |
f___0 = (UWord (*)(ThreadId , UWord ))((void *)*(arg + 1)); |
|
6668 |
f___0 = (UWord (*)(ThreadId , UWord ))((void *)*(arg + 1)); |
| 6669 |
if ((unsigned int )f___0 == (unsigned int )((void *)0)) { |
|
6669 |
if ((unsigned int )f___0 == (unsigned int )((void *)0)) { |
| 6670 |
vgPlain_message((VgMsgKind )2, "VG_USERREQ__CLIENT_CALL1: func=%p\n", f___0); |
|
6670 |
vgPlain_message((VgMsgKind )2, "VG_USERREQ__CLIENT_CALL1: func=%p\n", f___0); |
| 6671 |
} else { |
|
6671 |
} else { |
| 6672 |
while (1) { |
|
6672 |
while (1) { |
| 6673 |
tmp___0 = (*f___0)(tid, *(arg + 2)); |
|
6673 |
tmp___0 = (*f___0)(tid, *(arg + 2)); |
| 6674 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )tmp___0; |
|
6674 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )tmp___0; |
| 6675 |
while (1) { |
|
6675 |
while (1) { |
| 6676 |
if (vgPlain_tdict.track_post_reg_write_clientcall_return) { |
|
6676 |
if (vgPlain_tdict.track_post_reg_write_clientcall_return) { |
| 6677 |
(*(vgPlain_tdict.track_post_reg_write_clientcall_return))(tid, |
|
6677 |
(*(vgPlain_tdict.track_post_reg_write_clientcall_return))(tid, |
| 6678 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6678 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6679 |
(SizeT )sizeof(UWord ), |
|
6679 |
(SizeT )sizeof(UWord ), |
| 6680 |
(Addr )f___0); |
|
6680 |
(Addr )f___0); |
| 6681 |
} else { |
|
6681 |
} else { |
| 6682 |
|
|
6682 |
|
| 6683 |
} |
|
6683 |
} |
| 6684 |
break; |
|
6684 |
break; |
| 6685 |
} |
|
6685 |
} |
| 6686 |
break; |
|
6686 |
break; |
| 6687 |
} |
|
6687 |
} |
| 6688 |
} |
|
6688 |
} |
| 6689 |
break; |
|
6689 |
break; |
| 6690 |
case 4355UL: |
|
6690 |
case 4355UL: |
| 6691 |
f___1 = (UWord (*)(ThreadId , UWord , UWord ))((void *)*(arg + 1)); |
|
6691 |
f___1 = (UWord (*)(ThreadId , UWord , UWord ))((void *)*(arg + 1)); |
| 6692 |
if ((unsigned int )f___1 == (unsigned int )((void *)0)) { |
|
6692 |
if ((unsigned int )f___1 == (unsigned int )((void *)0)) { |
| 6693 |
vgPlain_message((VgMsgKind )2, "VG_USERREQ__CLIENT_CALL2: func=%p\n", f___1); |
|
6693 |
vgPlain_message((VgMsgKind )2, "VG_USERREQ__CLIENT_CALL2: func=%p\n", f___1); |
| 6694 |
} else { |
|
6694 |
} else { |
| 6695 |
while (1) { |
|
6695 |
while (1) { |
| 6696 |
tmp___1 = (*f___1)(tid, *(arg + 2), *(arg + 3)); |
|
6696 |
tmp___1 = (*f___1)(tid, *(arg + 2), *(arg + 3)); |
| 6697 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )tmp___1; |
|
6697 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )tmp___1; |
| 6698 |
while (1) { |
|
6698 |
while (1) { |
| 6699 |
if (vgPlain_tdict.track_post_reg_write_clientcall_return) { |
|
6699 |
if (vgPlain_tdict.track_post_reg_write_clientcall_return) { |
| 6700 |
(*(vgPlain_tdict.track_post_reg_write_clientcall_return))(tid, |
|
6700 |
(*(vgPlain_tdict.track_post_reg_write_clientcall_return))(tid, |
| 6701 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6701 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6702 |
(SizeT )sizeof(UWord ), |
|
6702 |
(SizeT )sizeof(UWord ), |
| 6703 |
(Addr )f___1); |
|
6703 |
(Addr )f___1); |
| 6704 |
} else { |
|
6704 |
} else { |
| 6705 |
|
|
6705 |
|
| 6706 |
} |
|
6706 |
} |
| 6707 |
break; |
|
6707 |
break; |
| 6708 |
} |
|
6708 |
} |
| 6709 |
break; |
|
6709 |
break; |
| 6710 |
} |
|
6710 |
} |
| 6711 |
} |
|
6711 |
} |
| 6712 |
break; |
|
6712 |
break; |
| 6713 |
case 4356UL: |
|
6713 |
case 4356UL: |
| 6714 |
f___2 = (UWord (*)(ThreadId , UWord , UWord , UWord ))((void *)*(arg + 1)); |
|
6714 |
f___2 = (UWord (*)(ThreadId , UWord , UWord , UWord ))((void *)*(arg + 1)); |
| 6715 |
if ((unsigned int )f___2 == (unsigned int )((void *)0)) { |
|
6715 |
if ((unsigned int )f___2 == (unsigned int )((void *)0)) { |
| 6716 |
vgPlain_message((VgMsgKind )2, "VG_USERREQ__CLIENT_CALL3: func=%p\n", f___2); |
|
6716 |
vgPlain_message((VgMsgKind )2, "VG_USERREQ__CLIENT_CALL3: func=%p\n", f___2); |
| 6717 |
} else { |
|
6717 |
} else { |
| 6718 |
while (1) { |
|
6718 |
while (1) { |
| 6719 |
tmp___2 = (*f___2)(tid, *(arg + 2), *(arg + 3), *(arg + 4)); |
|
6719 |
tmp___2 = (*f___2)(tid, *(arg + 2), *(arg + 3), *(arg + 4)); |
| 6720 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )tmp___2; |
|
6720 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )tmp___2; |
| 6721 |
while (1) { |
|
6721 |
while (1) { |
| 6722 |
if (vgPlain_tdict.track_post_reg_write_clientcall_return) { |
|
6722 |
if (vgPlain_tdict.track_post_reg_write_clientcall_return) { |
| 6723 |
(*(vgPlain_tdict.track_post_reg_write_clientcall_return))(tid, |
|
6723 |
(*(vgPlain_tdict.track_post_reg_write_clientcall_return))(tid, |
| 6724 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6724 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6725 |
(SizeT )sizeof(UWord ), |
|
6725 |
(SizeT )sizeof(UWord ), |
| 6726 |
(Addr )f___2); |
|
6726 |
(Addr )f___2); |
| 6727 |
} else { |
|
6727 |
} else { |
| 6728 |
|
|
6728 |
|
| 6729 |
} |
|
6729 |
} |
| 6730 |
break; |
|
6730 |
break; |
| 6731 |
} |
|
6731 |
} |
| 6732 |
break; |
|
6732 |
break; |
| 6733 |
} |
|
6733 |
} |
| 6734 |
} |
|
6734 |
} |
| 6735 |
break; |
|
6735 |
break; |
| 6736 |
case 4097UL: |
|
6736 |
case 4097UL: |
| 6737 |
while (1) { |
|
6737 |
while (1) { |
| 6738 |
_zzq_args[0] = (unsigned int volatile )4097U; |
|
6738 |
_zzq_args[0] = (unsigned int volatile )4097U; |
| 6739 |
_zzq_args[1] = (unsigned int volatile )0U; |
|
6739 |
_zzq_args[1] = (unsigned int volatile )0U; |
| 6740 |
_zzq_args[2] = (unsigned int volatile )0U; |
|
6740 |
_zzq_args[2] = (unsigned int volatile )0U; |
| 6741 |
_zzq_args[3] = (unsigned int volatile )0U; |
|
6741 |
_zzq_args[3] = (unsigned int volatile )0U; |
| 6742 |
_zzq_args[4] = (unsigned int volatile )0U; |
|
6742 |
_zzq_args[4] = (unsigned int volatile )0U; |
| 6743 |
_zzq_args[5] = (unsigned int volatile )0U; |
|
6743 |
_zzq_args[5] = (unsigned int volatile )0U; |
| 6744 |
__asm__ volatile ("roll $3, %%edi ; roll $13, %%edi\n\t" |
|
6744 |
__asm__ volatile ("roll $3, %%edi ; roll $13, %%edi\n\t" |
| 6745 |
"roll $29, %%edi ; roll $19, %%edi\n\t" |
|
6745 |
"roll $29, %%edi ; roll $19, %%edi\n\t" |
| 6746 |
"xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]), |
|
6746 |
"xchgl %%ebx,%%ebx": "=d" (_zzq_result): "a" (& _zzq_args[0]), |
| 6747 |
"0" (0): "cc", "memory"); |
|
6747 |
"0" (0): "cc", "memory"); |
| 6748 |
vgPlain_threads[tid].arch.vex.guest_EDX = (unsigned int )_zzq_result + 1U; |
|
6748 |
vgPlain_threads[tid].arch.vex.guest_EDX = (unsigned int )_zzq_result + 1U; |
| 6749 |
while (1) { |
|
6749 |
while (1) { |
| 6750 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6750 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6751 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6751 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6752 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6752 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6753 |
(SizeT )sizeof(UWord )); |
|
6753 |
(SizeT )sizeof(UWord )); |
| 6754 |
} else { |
|
6754 |
} else { |
| 6755 |
|
|
6755 |
|
| 6756 |
} |
|
6756 |
} |
| 6757 |
break; |
|
6757 |
break; |
| 6758 |
} |
|
6758 |
} |
| 6759 |
break; |
|
6759 |
break; |
| 6760 |
} |
|
6760 |
} |
| 6761 |
break; |
|
6761 |
break; |
| 6762 |
case 5121UL: |
|
6762 |
case 5121UL: |
| 6763 |
if (sizeof(va_list ) != sizeof(UWord )) { |
|
6763 |
if (sizeof(va_list ) != sizeof(UWord )) { |
| 6764 |
goto va_list_casting_error_NORETURN; |
|
6764 |
goto va_list_casting_error_NORETURN; |
| 6765 |
} else { |
|
6765 |
} else { |
| 6766 |
|
|
6766 |
|
| 6767 |
} |
|
6767 |
} |
| 6768 |
u.uw = *(arg + 2); |
|
6768 |
u.uw = *(arg + 2); |
| 6769 |
tmp___3 = vgPlain_vmessage((VgMsgKind )3, |
|
6769 |
tmp___3 = vgPlain_vmessage((VgMsgKind )3, |
| 6770 |
(HChar const *)((char *)*(arg + 1)), u.vargs); |
|
6770 |
(HChar const *)((char *)*(arg + 1)), u.vargs); |
| 6771 |
count = (Int )tmp___3; |
|
6771 |
count = (Int )tmp___3; |
| 6772 |
vgPlain_message_flush(); |
|
6772 |
vgPlain_message_flush(); |
| 6773 |
while (1) { |
|
6773 |
while (1) { |
| 6774 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count; |
|
6774 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count; |
| 6775 |
while (1) { |
|
6775 |
while (1) { |
| 6776 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6776 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6777 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6777 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6778 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6778 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6779 |
(SizeT )sizeof(UWord )); |
|
6779 |
(SizeT )sizeof(UWord )); |
| 6780 |
} else { |
|
6780 |
} else { |
| 6781 |
|
|
6781 |
|
| 6782 |
} |
|
6782 |
} |
| 6783 |
break; |
|
6783 |
break; |
| 6784 |
} |
|
6784 |
} |
| 6785 |
break; |
|
6785 |
break; |
| 6786 |
} |
|
6786 |
} |
| 6787 |
break; |
|
6787 |
break; |
| 6788 |
case 5122UL: |
|
6788 |
case 5122UL: |
| 6789 |
if (sizeof(va_list ) != sizeof(UWord )) { |
|
6789 |
if (sizeof(va_list ) != sizeof(UWord )) { |
| 6790 |
goto va_list_casting_error_NORETURN; |
|
6790 |
goto va_list_casting_error_NORETURN; |
| 6791 |
} else { |
|
6791 |
} else { |
| 6792 |
|
|
6792 |
|
| 6793 |
} |
|
6793 |
} |
| 6794 |
u___0.uw = *(arg + 2); |
|
6794 |
u___0.uw = *(arg + 2); |
| 6795 |
tmp___4 = vgPlain_vmessage((VgMsgKind )3, |
|
6795 |
tmp___4 = vgPlain_vmessage((VgMsgKind )3, |
| 6796 |
(HChar const *)((char *)*(arg + 1)), u___0.vargs); |
|
6796 |
(HChar const *)((char *)*(arg + 1)), u___0.vargs); |
| 6797 |
count___0 = (Int )tmp___4; |
|
6797 |
count___0 = (Int )tmp___4; |
| 6798 |
vgPlain_message_flush(); |
|
6798 |
vgPlain_message_flush(); |
| 6799 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )vgPlain_clo_backtrace_size); |
|
6799 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )vgPlain_clo_backtrace_size); |
| 6800 |
while (1) { |
|
6800 |
while (1) { |
| 6801 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count___0; |
|
6801 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count___0; |
| 6802 |
while (1) { |
|
6802 |
while (1) { |
| 6803 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6803 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6804 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6804 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6805 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6805 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6806 |
(SizeT )sizeof(UWord )); |
|
6806 |
(SizeT )sizeof(UWord )); |
| 6807 |
} else { |
|
6807 |
} else { |
| 6808 |
|
|
6808 |
|
| 6809 |
} |
|
6809 |
} |
| 6810 |
break; |
|
6810 |
break; |
| 6811 |
} |
|
6811 |
} |
| 6812 |
break; |
|
6812 |
break; |
| 6813 |
} |
|
6813 |
} |
| 6814 |
break; |
|
6814 |
break; |
| 6815 |
case 5123UL: |
|
6815 |
case 5123UL: |
| 6816 |
vargsp = (va_list *)*(arg + 2); |
|
6816 |
vargsp = (va_list *)*(arg + 2); |
| 6817 |
tmp___5 = vgPlain_vmessage((VgMsgKind )3, |
|
6817 |
tmp___5 = vgPlain_vmessage((VgMsgKind )3, |
| 6818 |
(HChar const *)((char *)*(arg + 1)), *vargsp); |
|
6818 |
(HChar const *)((char *)*(arg + 1)), *vargsp); |
| 6819 |
count___1 = (Int )tmp___5; |
|
6819 |
count___1 = (Int )tmp___5; |
| 6820 |
vgPlain_message_flush(); |
|
6820 |
vgPlain_message_flush(); |
| 6821 |
while (1) { |
|
6821 |
while (1) { |
| 6822 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count___1; |
|
6822 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count___1; |
| 6823 |
while (1) { |
|
6823 |
while (1) { |
| 6824 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6824 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6825 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6825 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6826 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6826 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6827 |
(SizeT )sizeof(UWord )); |
|
6827 |
(SizeT )sizeof(UWord )); |
| 6828 |
} else { |
|
6828 |
} else { |
| 6829 |
|
|
6829 |
|
| 6830 |
} |
|
6830 |
} |
| 6831 |
break; |
|
6831 |
break; |
| 6832 |
} |
|
6832 |
} |
| 6833 |
break; |
|
6833 |
break; |
| 6834 |
} |
|
6834 |
} |
| 6835 |
break; |
|
6835 |
break; |
| 6836 |
case 5124UL: |
|
6836 |
case 5124UL: |
| 6837 |
vargsp___0 = (va_list *)*(arg + 2); |
|
6837 |
vargsp___0 = (va_list *)*(arg + 2); |
| 6838 |
tmp___6 = vgPlain_vmessage((VgMsgKind )3, |
|
6838 |
tmp___6 = vgPlain_vmessage((VgMsgKind )3, |
| 6839 |
(HChar const *)((char *)*(arg + 1)), *vargsp___0); |
|
6839 |
(HChar const *)((char *)*(arg + 1)), *vargsp___0); |
| 6840 |
count___2 = (Int )tmp___6; |
|
6840 |
count___2 = (Int )tmp___6; |
| 6841 |
vgPlain_message_flush(); |
|
6841 |
vgPlain_message_flush(); |
| 6842 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )vgPlain_clo_backtrace_size); |
|
6842 |
vgPlain_get_and_pp_StackTrace(tid, (UInt )vgPlain_clo_backtrace_size); |
| 6843 |
while (1) { |
|
6843 |
while (1) { |
| 6844 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count___2; |
|
6844 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count___2; |
| 6845 |
while (1) { |
|
6845 |
while (1) { |
| 6846 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6846 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6847 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6847 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6848 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6848 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6849 |
(SizeT )sizeof(UWord )); |
|
6849 |
(SizeT )sizeof(UWord )); |
| 6850 |
} else { |
|
6850 |
} else { |
| 6851 |
|
|
6851 |
|
| 6852 |
} |
|
6852 |
} |
| 6853 |
break; |
|
6853 |
break; |
| 6854 |
} |
|
6854 |
} |
| 6855 |
break; |
|
6855 |
break; |
| 6856 |
} |
|
6856 |
} |
| 6857 |
break; |
|
6857 |
break; |
| 6858 |
case 12547UL: |
|
6858 |
case 12547UL: |
| 6859 |
vargsp___1 = (va_list *)*(arg + 2); |
|
6859 |
vargsp___1 = (va_list *)*(arg + 2); |
| 6860 |
tmp___7 = vgPlain_vmessage((VgMsgKind )2, |
|
6860 |
tmp___7 = vgPlain_vmessage((VgMsgKind )2, |
| 6861 |
(HChar const *)((char *)*(arg + 1)), *vargsp___1); |
|
6861 |
(HChar const *)((char *)*(arg + 1)), *vargsp___1); |
| 6862 |
count___3 = (Int )tmp___7; |
|
6862 |
count___3 = (Int )tmp___7; |
| 6863 |
vgPlain_message_flush(); |
|
6863 |
vgPlain_message_flush(); |
| 6864 |
while (1) { |
|
6864 |
while (1) { |
| 6865 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count___3; |
|
6865 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )count___3; |
| 6866 |
while (1) { |
|
6866 |
while (1) { |
| 6867 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6867 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6868 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6868 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6869 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6869 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6870 |
(SizeT )sizeof(UWord )); |
|
6870 |
(SizeT )sizeof(UWord )); |
| 6871 |
} else { |
|
6871 |
} else { |
| 6872 |
|
|
6872 |
|
| 6873 |
} |
|
6873 |
} |
| 6874 |
break; |
|
6874 |
break; |
| 6875 |
} |
|
6875 |
} |
| 6876 |
break; |
|
6876 |
break; |
| 6877 |
} |
|
6877 |
} |
| 6878 |
break; |
|
6878 |
break; |
| 6879 |
case 12548UL: |
|
6879 |
case 12548UL: |
| 6880 |
vgPlain_redir_add_ifunc_target(*(arg + 1), *(arg + 2)); |
|
6880 |
vgPlain_redir_add_ifunc_target(*(arg + 1), *(arg + 2)); |
| 6881 |
while (1) { |
|
6881 |
while (1) { |
| 6882 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
|
6882 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
| 6883 |
while (1) { |
|
6883 |
while (1) { |
| 6884 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6884 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6885 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6885 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6886 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6886 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6887 |
(SizeT )sizeof(UWord )); |
|
6887 |
(SizeT )sizeof(UWord )); |
| 6888 |
} else { |
|
6888 |
} else { |
| 6889 |
|
|
6889 |
|
| 6890 |
} |
|
6890 |
} |
| 6891 |
break; |
|
6891 |
break; |
| 6892 |
} |
|
6892 |
} |
| 6893 |
break; |
|
6893 |
break; |
| 6894 |
} |
|
6894 |
} |
| 6895 |
break; |
|
6895 |
break; |
| 6896 |
case 5377UL: |
|
6896 |
case 5377UL: |
| 6897 |
tmp___8 = vgPlain_register_stack(*(arg + 1), *(arg + 2)); |
|
6897 |
tmp___8 = vgPlain_register_stack(*(arg + 1), *(arg + 2)); |
| 6898 |
sid = tmp___8; |
|
6898 |
sid = tmp___8; |
| 6899 |
while (1) { |
|
6899 |
while (1) { |
| 6900 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )sid; |
|
6900 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )sid; |
| 6901 |
while (1) { |
|
6901 |
while (1) { |
| 6902 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6902 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6903 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6903 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6904 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6904 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6905 |
(SizeT )sizeof(UWord )); |
|
6905 |
(SizeT )sizeof(UWord )); |
| 6906 |
} else { |
|
6906 |
} else { |
| 6907 |
|
|
6907 |
|
| 6908 |
} |
|
6908 |
} |
| 6909 |
break; |
|
6909 |
break; |
| 6910 |
} |
|
6910 |
} |
| 6911 |
break; |
|
6911 |
break; |
| 6912 |
} |
|
6912 |
} |
| 6913 |
break; |
|
6913 |
break; |
| 6914 |
case 5378UL: |
|
6914 |
case 5378UL: |
| 6915 |
vgPlain_deregister_stack(*(arg + 1)); |
|
6915 |
vgPlain_deregister_stack(*(arg + 1)); |
| 6916 |
while (1) { |
|
6916 |
while (1) { |
| 6917 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
|
6917 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
| 6918 |
while (1) { |
|
6918 |
while (1) { |
| 6919 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6919 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6920 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6920 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6921 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6921 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6922 |
(SizeT )sizeof(UWord )); |
|
6922 |
(SizeT )sizeof(UWord )); |
| 6923 |
} else { |
|
6923 |
} else { |
| 6924 |
|
|
6924 |
|
| 6925 |
} |
|
6925 |
} |
| 6926 |
break; |
|
6926 |
break; |
| 6927 |
} |
|
6927 |
} |
| 6928 |
break; |
|
6928 |
break; |
| 6929 |
} |
|
6929 |
} |
| 6930 |
break; |
|
6930 |
break; |
| 6931 |
case 5379UL: |
|
6931 |
case 5379UL: |
| 6932 |
vgPlain_change_stack(*(arg + 1), *(arg + 2), *(arg + 3)); |
|
6932 |
vgPlain_change_stack(*(arg + 1), *(arg + 2), *(arg + 3)); |
| 6933 |
while (1) { |
|
6933 |
while (1) { |
| 6934 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
|
6934 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
| 6935 |
while (1) { |
|
6935 |
while (1) { |
| 6936 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6936 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6937 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6937 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6938 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6938 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6939 |
(SizeT )sizeof(UWord )); |
|
6939 |
(SizeT )sizeof(UWord )); |
| 6940 |
} else { |
|
6940 |
} else { |
| 6941 |
|
|
6941 |
|
| 6942 |
} |
|
6942 |
} |
| 6943 |
break; |
|
6943 |
break; |
| 6944 |
} |
|
6944 |
} |
| 6945 |
break; |
|
6945 |
break; |
| 6946 |
} |
|
6946 |
} |
| 6947 |
break; |
|
6947 |
break; |
| 6948 |
case 12336UL: |
|
6948 |
case 12336UL: |
| 6949 |
info = (struct vg_mallocfunc_info *)*(arg + 1); |
|
6949 |
info = (struct vg_mallocfunc_info *)*(arg + 1); |
| 6950 |
info->tl_malloc = vgPlain_tdict.tool_malloc; |
|
6950 |
info->tl_malloc = vgPlain_tdict.tool_malloc; |
| 6951 |
info->tl_calloc = vgPlain_tdict.tool_calloc; |
|
6951 |
info->tl_calloc = vgPlain_tdict.tool_calloc; |
| 6952 |
info->tl_realloc = vgPlain_tdict.tool_realloc; |
|
6952 |
info->tl_realloc = vgPlain_tdict.tool_realloc; |
| 6953 |
info->tl_memalign = vgPlain_tdict.tool_memalign; |
|
6953 |
info->tl_memalign = vgPlain_tdict.tool_memalign; |
| 6954 |
info->tl___builtin_new = vgPlain_tdict.tool___builtin_new; |
|
6954 |
info->tl___builtin_new = vgPlain_tdict.tool___builtin_new; |
| 6955 |
info->tl___builtin_vec_new = vgPlain_tdict.tool___builtin_vec_new; |
|
6955 |
info->tl___builtin_vec_new = vgPlain_tdict.tool___builtin_vec_new; |
| 6956 |
info->tl_free = vgPlain_tdict.tool_free; |
|
6956 |
info->tl_free = vgPlain_tdict.tool_free; |
| 6957 |
info->tl___builtin_delete = vgPlain_tdict.tool___builtin_delete; |
|
6957 |
info->tl___builtin_delete = vgPlain_tdict.tool___builtin_delete; |
| 6958 |
info->tl___builtin_vec_delete = vgPlain_tdict.tool___builtin_vec_delete; |
|
6958 |
info->tl___builtin_vec_delete = vgPlain_tdict.tool___builtin_vec_delete; |
| 6959 |
info->tl_malloc_usable_size = vgPlain_tdict.tool_malloc_usable_size; |
|
6959 |
info->tl_malloc_usable_size = vgPlain_tdict.tool_malloc_usable_size; |
| 6960 |
info->mallinfo = & vgPlain_mallinfo; |
|
6960 |
info->mallinfo = & vgPlain_mallinfo; |
| 6961 |
info->clo_trace_malloc = vgPlain_clo_trace_malloc; |
|
6961 |
info->clo_trace_malloc = vgPlain_clo_trace_malloc; |
| 6962 |
while (1) { |
|
6962 |
while (1) { |
| 6963 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
|
6963 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
| 6964 |
while (1) { |
|
6964 |
while (1) { |
| 6965 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6965 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6966 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6966 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6967 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6967 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6968 |
(SizeT )sizeof(UWord )); |
|
6968 |
(SizeT )sizeof(UWord )); |
| 6969 |
} else { |
|
6969 |
} else { |
| 6970 |
|
|
6970 |
|
| 6971 |
} |
|
6971 |
} |
| 6972 |
break; |
|
6972 |
break; |
| 6973 |
} |
|
6973 |
} |
| 6974 |
break; |
|
6974 |
break; |
| 6975 |
} |
|
6975 |
} |
| 6976 |
break; |
|
6976 |
break; |
| 6977 |
case 4098UL: |
|
6977 |
case 4098UL: |
| 6978 |
if (vgPlain_clo_verbosity > 2) { |
|
6978 |
if (vgPlain_clo_verbosity > 2) { |
| 6979 |
vgPlain_printf("client request: DISCARD_TRANSLATIONS, addr %p, len %lu\n", |
|
6979 |
vgPlain_printf("client request: DISCARD_TRANSLATIONS, addr %p, len %lu\n", |
| 6980 |
(void *)*(arg + 1), *(arg + 2)); |
|
6980 |
(void *)*(arg + 1), *(arg + 2)); |
| 6981 |
} else { |
|
6981 |
} else { |
| 6982 |
|
|
6982 |
|
| 6983 |
} |
|
6983 |
} |
| 6984 |
vgPlain_discard_translations((Addr64 )*(arg + 1), (ULong )*(arg + 2), |
|
6984 |
vgPlain_discard_translations((Addr64 )*(arg + 1), (ULong )*(arg + 2), |
| 6985 |
(HChar *)"scheduler(VG_USERREQ__DISCARD_TRANSLATIONS)"); |
|
6985 |
(HChar *)"scheduler(VG_USERREQ__DISCARD_TRANSLATIONS)"); |
| 6986 |
while (1) { |
|
6986 |
while (1) { |
| 6987 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
|
6987 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
| 6988 |
while (1) { |
|
6988 |
while (1) { |
| 6989 |
if (vgPlain_tdict.track_post_reg_write) { |
|
6989 |
if (vgPlain_tdict.track_post_reg_write) { |
| 6990 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
6990 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 6991 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
6991 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 6992 |
(SizeT )sizeof(UWord )); |
|
6992 |
(SizeT )sizeof(UWord )); |
| 6993 |
} else { |
|
6993 |
} else { |
| 6994 |
|
|
6994 |
|
| 6995 |
} |
|
6995 |
} |
| 6996 |
break; |
|
6996 |
break; |
| 6997 |
} |
|
6997 |
} |
| 6998 |
break; |
|
6998 |
break; |
| 6999 |
} |
|
6999 |
} |
| 7000 |
break; |
|
7000 |
break; |
| 7001 |
case 4609UL: |
|
7001 |
case 4609UL: |
| 7002 |
while (1) { |
|
7002 |
while (1) { |
| 7003 |
vgPlain_threads[tid].arch.vex.guest_EDX = vgPlain_get_n_errs_found(); |
|
7003 |
vgPlain_threads[tid].arch.vex.guest_EDX = vgPlain_get_n_errs_found(); |
| 7004 |
while (1) { |
|
7004 |
while (1) { |
| 7005 |
if (vgPlain_tdict.track_post_reg_write) { |
|
7005 |
if (vgPlain_tdict.track_post_reg_write) { |
| 7006 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
7006 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 7007 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
7007 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 7008 |
(SizeT )sizeof(UWord )); |
|
7008 |
(SizeT )sizeof(UWord )); |
| 7009 |
} else { |
|
7009 |
} else { |
| 7010 |
|
|
7010 |
|
| 7011 |
} |
|
7011 |
} |
| 7012 |
break; |
|
7012 |
break; |
| 7013 |
} |
|
7013 |
} |
| 7014 |
break; |
|
7014 |
break; |
| 7015 |
} |
|
7015 |
} |
| 7016 |
break; |
|
7016 |
break; |
| 7017 |
case 5633UL: |
|
7017 |
case 5633UL: |
| 7018 |
vgPlain_di_notify_pdb_debuginfo((Int )*(arg + 1), *(arg + 2), *(arg + 3), |
|
7018 |
vgPlain_di_notify_pdb_debuginfo((Int )*(arg + 1), *(arg + 2), *(arg + 3), |
| 7019 |
(PtrdiffT )*(arg + 4)); |
|
7019 |
(PtrdiffT )*(arg + 4)); |
| 7020 |
while (1) { |
|
7020 |
while (1) { |
| 7021 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
|
7021 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
| 7022 |
while (1) { |
|
7022 |
while (1) { |
| 7023 |
if (vgPlain_tdict.track_post_reg_write) { |
|
7023 |
if (vgPlain_tdict.track_post_reg_write) { |
| 7024 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
7024 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 7025 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
7025 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 7026 |
(SizeT )sizeof(UWord )); |
|
7026 |
(SizeT )sizeof(UWord )); |
| 7027 |
} else { |
|
7027 |
} else { |
| 7028 |
|
|
7028 |
|
| 7029 |
} |
|
7029 |
} |
| 7030 |
break; |
|
7030 |
break; |
| 7031 |
} |
|
7031 |
} |
| 7032 |
break; |
|
7032 |
break; |
| 7033 |
} |
|
7033 |
} |
| 7034 |
break; |
|
7034 |
break; |
| 7035 |
case 5889UL: |
|
7035 |
case 5889UL: |
| 7036 |
ip = *(arg + 1); |
|
7036 |
ip = *(arg + 1); |
| 7037 |
buf64 = (UChar *)*(arg + 2); |
|
7037 |
buf64 = (UChar *)*(arg + 2); |
| 7038 |
vgPlain_memset((void *)buf64, 0, (SizeT )64); |
|
7038 |
vgPlain_memset((void *)buf64, 0, (SizeT )64); |
| 7039 |
linenum = (UInt )0; |
|
7039 |
linenum = (UInt )0; |
| 7040 |
tmp___9 = vgPlain_get_filename_linenum(ip, (Char *)(buf64 + 0), 50, |
|
7040 |
tmp___9 = vgPlain_get_filename_linenum(ip, (Char *)(buf64 + 0), 50, |
| 7041 |
(Char *)((void *)0), 0, |
|
7041 |
(Char *)((void *)0), 0, |
| 7042 |
(Bool *)((void *)0), & linenum); |
|
7042 |
(Bool *)((void *)0), & linenum); |
| 7043 |
ok = tmp___9; |
|
7043 |
ok = tmp___9; |
| 7044 |
if (ok) { |
|
7044 |
if (ok) { |
| 7045 |
i = (UInt )0; |
|
7045 |
i = (UInt )0; |
| 7046 |
while (i < 50U) { |
|
7046 |
while (i < 50U) { |
| 7047 |
if ((int )*(buf64 + i) == 0) { |
|
7047 |
if ((int )*(buf64 + i) == 0) { |
| 7048 |
break; |
|
7048 |
break; |
| 7049 |
} else { |
|
7049 |
} else { |
| 7050 |
|
|
7050 |
|
| 7051 |
} |
|
7051 |
} |
| 7052 |
i ++; |
|
7052 |
i ++; |
| 7053 |
} |
|
7053 |
} |
| 7054 |
tmp___10 = __builtin_expect((long )(! (! (i < 50U))), 1L); |
|
7054 |
tmp___10 = __builtin_expect((long )(! (! (i < 50U))), 1L); |
| 7055 |
if (tmp___10) { |
|
7055 |
if (tmp___10) { |
| 7056 |
|
|
7056 |
|
| 7057 |
} else { |
|
7057 |
} else { |
| 7058 |
vgPlain_assert_fail((Bool )1, (Char const *)"i < 50", |
|
7058 |
vgPlain_assert_fail((Bool )1, (Char const *)"i < 50", |
| 7059 |
(Char const *)"m_scheduler/scheduler.c", 1680, |
|
7059 |
(Char const *)"m_scheduler/scheduler.c", 1680, |
| 7060 |
(Char const *)"do_client_request", ""); |
|
7060 |
(Char const *)"do_client_request", ""); |
| 7061 |
} |
|
7061 |
} |
| 7062 |
vgPlain_sprintf((Char *)(buf64 + i), ":%u", linenum); |
|
7062 |
vgPlain_sprintf((Char *)(buf64 + i), ":%u", linenum); |
| 7063 |
} else { |
|
7063 |
} else { |
| 7064 |
*(buf64 + 0) = (UChar )0; |
|
7064 |
*(buf64 + 0) = (UChar )0; |
| 7065 |
} |
|
7065 |
} |
| 7066 |
while (1) { |
|
7066 |
while (1) { |
| 7067 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
|
7067 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
| 7068 |
while (1) { |
|
7068 |
while (1) { |
| 7069 |
if (vgPlain_tdict.track_post_reg_write) { |
|
7069 |
if (vgPlain_tdict.track_post_reg_write) { |
| 7070 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
7070 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 7071 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
7071 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 7072 |
(SizeT )sizeof(UWord )); |
|
7072 |
(SizeT )sizeof(UWord )); |
| 7073 |
} else { |
|
7073 |
} else { |
| 7074 |
|
|
7074 |
|
| 7075 |
} |
|
7075 |
} |
| 7076 |
break; |
|
7076 |
break; |
| 7077 |
} |
|
7077 |
} |
| 7078 |
break; |
|
7078 |
break; |
| 7079 |
} |
|
7079 |
} |
| 7080 |
break; |
|
7080 |
break; |
| 7081 |
case 4866UL: |
|
7081 |
case 4866UL: |
| 7082 |
case 4875UL: |
|
7082 |
case 4875UL: |
| 7083 |
case 4865UL: |
|
7083 |
case 4865UL: |
| 7084 |
if (! *(arg + 1)) { |
|
7084 |
if (! *(arg + 1)) { |
| 7085 |
while (1) { |
|
7085 |
while (1) { |
| 7086 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
|
7086 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )0; |
| 7087 |
while (1) { |
|
7087 |
while (1) { |
| 7088 |
if (vgPlain_tdict.track_post_reg_write) { |
|
7088 |
if (vgPlain_tdict.track_post_reg_write) { |
| 7089 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
7089 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 7090 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
7090 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 7091 |
(SizeT )sizeof(UWord )); |
|
7091 |
(SizeT )sizeof(UWord )); |
| 7092 |
} else { |
|
7092 |
} else { |
| 7093 |
|
|
7093 |
|
| 7094 |
} |
|
7094 |
} |
| 7095 |
break; |
|
7095 |
break; |
| 7096 |
} |
|
7096 |
} |
| 7097 |
break; |
|
7097 |
break; |
| 7098 |
} |
|
7098 |
} |
| 7099 |
break; |
|
7099 |
break; |
| 7100 |
} |
|
7100 |
} |
| 7101 |
my_default: |
|
7101 |
my_default: |
| 7102 |
default: |
|
7102 |
default: |
| 7103 |
tmp___13 = os_client_request(tid, arg); |
|
7103 |
tmp___13 = os_client_request(tid, arg); |
| 7104 |
if (tmp___13) { |
|
7104 |
if (tmp___13) { |
| 7105 |
|
|
7105 |
|
| 7106 |
} else |
|
7106 |
} else |
| 7107 |
if (vgPlain_needs.client_requests) { |
|
7107 |
if (vgPlain_needs.client_requests) { |
| 7108 |
if (vgPlain_clo_verbosity > 2) { |
|
7108 |
if (vgPlain_clo_verbosity > 2) { |
| 7109 |
vgPlain_printf("client request: code %lx, addr %p, len %lu\n", |
|
7109 |
vgPlain_printf("client request: code %lx, addr %p, len %lu\n", |
| 7110 |
*(arg + 0), (void *)*(arg + 1), *(arg + 2)); |
|
7110 |
*(arg + 0), (void *)*(arg + 1), *(arg + 2)); |
| 7111 |
} else { |
|
7111 |
} else { |
| 7112 |
|
|
7112 |
|
| 7113 |
} |
|
7113 |
} |
| 7114 |
tmp___11 = __builtin_expect((long )(! (! vgPlain_tdict.tool_handle_client_request)), |
|
7114 |
tmp___11 = __builtin_expect((long )(! (! vgPlain_tdict.tool_handle_client_request)), |
| 7115 |
1L); |
|
7115 |
1L); |
| 7116 |
if (tmp___11) { |
|
7116 |
if (tmp___11) { |
| 7117 |
|
|
7117 |
|
| 7118 |
} else { |
|
7118 |
} else { |
| 7119 |
vgPlain_assert_fail((Bool )0, |
|
7119 |
vgPlain_assert_fail((Bool )0, |
| 7120 |
(Char const *)"VG_(tdict).tool_handle_client_request", |
|
7120 |
(Char const *)"VG_(tdict).tool_handle_client_request", |
| 7121 |
(Char const *)"m_scheduler/scheduler.c", 1712, |
|
7121 |
(Char const *)"m_scheduler/scheduler.c", 1712, |
| 7122 |
(Char const *)"do_client_request", |
|
7122 |
(Char const *)"do_client_request", |
| 7123 |
"you forgot to set VgToolInterface function \'tool_handle_client_request\'"); |
|
7123 |
"you forgot to set VgToolInterface function \'tool_handle_client_request\'"); |
| 7124 |
} |
|
7124 |
} |
| 7125 |
tmp___12 = (*(vgPlain_tdict.tool_handle_client_request))(tid, arg, & ret); |
|
7125 |
tmp___12 = (*(vgPlain_tdict.tool_handle_client_request))(tid, arg, & ret); |
| 7126 |
if (tmp___12) { |
|
7126 |
if (tmp___12) { |
| 7127 |
while (1) { |
|
7127 |
while (1) { |
| 7128 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )ret; |
|
7128 |
vgPlain_threads[tid].arch.vex.guest_EDX = (UInt )ret; |
| 7129 |
while (1) { |
|
7129 |
while (1) { |
| 7130 |
if (vgPlain_tdict.track_post_reg_write) { |
|
7130 |
if (vgPlain_tdict.track_post_reg_write) { |
| 7131 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
|
7131 |
(*(vgPlain_tdict.track_post_reg_write))((CorePart )6, tid, |
| 7132 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
|
7132 |
(PtrdiffT )((Int )((HWord )(& ((VexGuestArchState *)0)->guest_EDX))), |
| 7133 |
(SizeT )sizeof(UWord )); |
|
7133 |
(SizeT )sizeof(UWord )); |
| 7134 |
} else { |
|
7134 |
} else { |
| 7135 |
|
|
7135 |
|
| 7136 |
} |
|
7136 |
} |
| 7137 |
break; |
|
7137 |
break; |
| 7138 |
} |
|
7138 |
} |
| 7139 |
break; |
|
7139 |
break; |
| 7140 |
} |
|
7140 |
} |
| 7141 |
} else { |
|
7141 |
} else { |
| 7142 |
|
|
7142 |
|
| 7143 |
} |
|
7143 |
} |
| 7144 |
} else |
|
7144 |
} else |
| 7145 |
if (! whined) { |
|
7145 |
if (! whined) { |
| 7146 |
if (vgPlain_clo_verbosity > 2) { |
|
7146 |
if (vgPlain_clo_verbosity > 2) { |
| 7147 |
c1 = (Char )((*(arg + 0) >> 24) & 255UL); |
|
7147 |
c1 = (Char )((*(arg + 0) >> 24) & 255UL); |
| 7148 |
c2 = (Char )((*(arg + 0) >> 16) & 255UL); |
|
7148 |
c2 = (Char )((*(arg + 0) >> 16) & 255UL); |
| 7149 |
if ((int )c1 == 0) { |
|
7149 |
if ((int )c1 == 0) { |
| 7150 |
c1 = (Char )'_'; |
|
7150 |
c1 = (Char )'_'; |
| 7151 |
} else { |
|
7151 |
} else { |
| 7152 |
|
|
7152 |
|
| 7153 |
} |
|
7153 |
} |
| 7154 |
if ((int )c2 == 0) { |
|
7154 |
if ((int )c2 == 0) { |
| 7155 |
c2 = (Char )'_'; |
|
7155 |
c2 = (Char )'_'; |
| 7156 |
} else { |
|
7156 |
} else { |
| 7157 |
|
|
7157 |
|
| 7158 |
} |
|
7158 |
} |
| 7159 |
vgPlain_message((VgMsgKind )1, |
|
7159 |
vgPlain_message((VgMsgKind )1, |
| 7160 |
"Warning:\n unhandled client request: 0x%lx (%c%c+0x%lx). Perhaps\n VG_(needs).client_requests should be set?\n", |
|
7160 |
"Warning:\n unhandled client request: 0x%lx (%c%c+0x%lx). Perhaps\n VG_(needs).client_requests should be set?\n", |
| 7161 |
*(arg + 0), (int )c1, (int )c2, *(arg + 0) & 65535UL); |
|
7161 |
*(arg + 0), (int )c1, (int )c2, *(arg + 0) & 65535UL); |
| 7162 |
whined = (Bool )1; |
|
7162 |
whined = (Bool )1; |
| 7163 |
} else { |
|
7163 |
} else { |
| 7164 |
|
|
7164 |
|
| 7165 |
} |
|
7165 |
} |
| 7166 |
} else { |
|
7166 |
} else { |
| 7167 |
|
|
7167 |
|
| 7168 |
} |
|
7168 |
} |
| 7169 |
break; |
|
7169 |
break; |
| 7170 |
} |
|
7170 |
} |
| 7171 |
return; |
|
7171 |
return; |
| 7172 |
va_list_casting_error_NORETURN: |
|
7172 |
va_list_casting_error_NORETURN: |
| 7173 |
vgPlain_umsg("Valgrind: fatal error - cannot continue: use of the deprecated\nclient requests VG_USERREQ__PRINTF or VG_USERREQ__PRINTF_BACKTRACE\non a platform where they cannot be supported. Please use the\nequivalent _VALIST_BY_REF versions instead.\n\nThis is a binary-incompatible change in Valgrind\'s client request\nmechanism. It is unfortunate, but difficult to avoid. End-users\nare expected to almost never see this message. The only case in\nwhich you might see this message is if your code uses the macros\nVALGRIND_PRINTF or VALGRIND_PRINTF_BACKTRACE. If so, you will need\nto recompile such code, using the header files from this version of\nValgrind, and not any previous version.\n\nIf you see this mesage in any other circumstances, it is probably\na bug in Valgrind. In this case, please file a bug report at\n\n http://www.valgrind.org/support/bug_reports.html\n\nWill now abort.\n"); |
|
7173 |
vgPlain_umsg("Valgrind: fatal error - cannot continue: use of the deprecated\nclient requests VG_USERREQ__PRINTF or VG_USERREQ__PRINTF_BACKTRACE\non a platform where they cannot be supported. Please use the\nequivalent _VALIST_BY_REF versions instead.\n\nThis is a binary-incompatible change in Valgrind\'s client request\nmechanism. It is unfortunate, but difficult to avoid. End-users\nare expected to almost never see this message. The only case in\nwhich you might see this message is if your code uses the macros\nVALGRIND_PRINTF or VALGRIND_PRINTF_BACKTRACE. If so, you will need\nto recompile such code, using the header files from this version of\nValgrind, and not any previous version.\n\nIf you see this mesage in any other circumstances, it is probably\na bug in Valgrind. In this case, please file a bug report at\n\n http://www.valgrind.org/support/bug_reports.html\n\nWill now abort.\n"); |
| 7174 |
tmp___14 = __builtin_expect(0L, 1L); |
|
7174 |
tmp___14 = __builtin_expect(0L, 1L); |
| 7175 |
if (tmp___14) { |
|
7175 |
if (tmp___14) { |
| 7176 |
|
|
7176 |
|
| 7177 |
} else { |
|
7177 |
} else { |
| 7178 |
vgPlain_assert_fail((Bool )1, (Char const *)"0", |
|
7178 |
vgPlain_assert_fail((Bool )1, (Char const *)"0", |
| 7179 |
(Char const *)"m_scheduler/scheduler.c", 1758, |
|
7179 |
(Char const *)"m_scheduler/scheduler.c", 1758, |
| 7180 |
(Char const *)"do_client_request", ""); |
|
7180 |
(Char const *)"do_client_request", ""); |
| 7181 |
} |
|
7181 |
} |
| 7182 |
return; |
|
7182 |
return; |
| 7183 |
} |
|
7183 |
} |
| 7184 |
} |
|
7184 |
} |
| 7185 |
static void scheduler_sanity(ThreadId tid ) ; |
|
7185 |
static void scheduler_sanity(ThreadId tid ) ; |
| 7186 |
static UInt lasttime = (UInt )0; |
|
7186 |
static UInt lasttime = (UInt )0; |
| 7187 |
static void scheduler_sanity(ThreadId tid ) |
|
7187 |
static void scheduler_sanity(ThreadId tid ) |
| 7188 |
{ |
|
7188 |
{ |
| 7189 |
Bool bad ; |
|
7189 |
Bool bad ; |
| 7190 |
UInt now ; |
|
7190 |
UInt now ; |
| 7191 |
Int lwpid ; |
|
7191 |
Int lwpid ; |
| 7192 |
Int tmp ; |
|
7192 |
Int tmp ; |
| 7193 |
Bool tmp___0 ; |
|
7193 |
Bool tmp___0 ; |
| 7194 |
Int tmp___1 ; |
|
7194 |
Int tmp___1 ; |
| 7195 |
|
|
7195 |
|
| 7196 |
{ |
|
7196 |
{ |
| 7197 |
bad = (Bool )0; |
|
7197 |
bad = (Bool )0; |
| 7198 |
tmp = vgPlain_gettid(); |
|
7198 |
tmp = vgPlain_gettid(); |
| 7199 |
lwpid = tmp; |
|
7199 |
lwpid = tmp; |
| 7200 |
tmp___0 = vgPlain_is_running_thread(tid); |
|
7200 |
tmp___0 = vgPlain_is_running_thread(tid); |
| 7201 |
if (tmp___0) { |
|
7201 |
if (tmp___0) { |
| 7202 |
|
|
7202 |
|
| 7203 |
} else { |
|
7203 |
} else { |
| 7204 |
vgPlain_message((VgMsgKind )2, |
|
7204 |
vgPlain_message((VgMsgKind )2, |
| 7205 |
"Thread %d is supposed to be running, but doesn\'t own the_BigLock (owned by %d)\n", |
|
7205 |
"Thread %d is supposed to be running, but doesn\'t own the_BigLock (owned by %d)\n", |
| 7206 |
tid, vgPlain_running_tid); |
|
7206 |
tid, vgPlain_running_tid); |
| 7207 |
bad = (Bool )1; |
|
7207 |
bad = (Bool )1; |
| 7208 |
} |
|
7208 |
} |
| 7209 |
if (lwpid != vgPlain_threads[tid].os_state.lwpid) { |
|
7209 |
if (lwpid != vgPlain_threads[tid].os_state.lwpid) { |
| 7210 |
tmp___1 = vgPlain_gettid(); |
|
7210 |
tmp___1 = vgPlain_gettid(); |
| 7211 |
vgPlain_message((VgMsgKind )2, |
|
7211 |
vgPlain_message((VgMsgKind )2, |
| 7212 |
"Thread %d supposed to be in LWP %d, but we\'re actually %d\n", |
|
7212 |
"Thread %d supposed to be in LWP %d, but we\'re actually %d\n", |
| 7213 |
tid, vgPlain_threads[tid].os_state.lwpid, tmp___1); |
|
7213 |
tid, vgPlain_threads[tid].os_state.lwpid, tmp___1); |
| 7214 |
bad = (Bool )1; |
|
7214 |
bad = (Bool )1; |
| 7215 |
} else { |
|
7215 |
} else { |
| 7216 |
|
|
7216 |
|
| 7217 |
} |
|
7217 |
} |
| 7218 |
if (lwpid != the_BigLock.owner_lwpid) { |
|
7218 |
if (lwpid != the_BigLock.owner_lwpid) { |
| 7219 |
vgPlain_message((VgMsgKind )2, |
|
7219 |
vgPlain_message((VgMsgKind )2, |
| 7220 |
"Thread (LWPID) %d doesn\'t own the_BigLock\n", tid); |
|
7220 |
"Thread (LWPID) %d doesn\'t own the_BigLock\n", tid); |
| 7221 |
bad = (Bool )1; |
|
7221 |
bad = (Bool )1; |
| 7222 |
} else { |
|
7222 |
} else { |
| 7223 |
|
|
7223 |
|
| 7224 |
} |
|
7224 |
} |
| 7225 |
now = vgPlain_read_millisecond_timer(); |
|
7225 |
now = vgPlain_read_millisecond_timer(); |
| 7226 |
if (bad) { |
|
7226 |
if (bad) { |
| 7227 |
vgPlain_core_panic((Char *)"scheduler_sanity: failed"); |
|
7227 |
vgPlain_core_panic((Char *)"scheduler_sanity: failed"); |
| 7228 |
} else { |
|
7228 |
} else { |
| 7229 |
|
|
7229 |
|
| 7230 |
} |
|
7230 |
} |
| 7231 |
return; |
|
7231 |
return; |
| 7232 |
} |
|
7232 |
} |
| 7233 |
} |
|
7233 |
} |
| 7234 |
void vgPlain_sanity_check_general(Bool force_expensive ) ; |
|
7234 |
void vgPlain_sanity_check_general(Bool force_expensive ) ; |
| 7235 |
static UInt next_slow_check_at = (UInt )1; |
|
7235 |
static UInt next_slow_check_at = (UInt )1; |
| 7236 |
void vgPlain_sanity_check_general(Bool force_expensive ) ; |
|
7236 |
void vgPlain_sanity_check_general(Bool force_expensive ) ; |
| 7237 |
static UInt slow_check_interval = (UInt )25; |
|
7237 |
static UInt slow_check_interval = (UInt )25; |
| 7238 |
void vgPlain_sanity_check_general(Bool force_expensive ) |
|
7238 |
void vgPlain_sanity_check_general(Bool force_expensive ) |
| 7239 |
{ |
|
7239 |
{ |
| 7240 |
ThreadId tid ; |
|
7240 |
ThreadId tid ; |
| 7241 |
long tmp ; |
|
7241 |
long tmp ; |
| 7242 |
Bool tmp___0 ; |
|
7242 |
Bool tmp___0 ; |
| 7243 |
int tmp___1 ; |
|
7243 |
int tmp___1 ; |
| 7244 |
long tmp___2 ; |
|
7244 |
long tmp___2 ; |
| 7245 |
long tmp___3 ; |
|
7245 |
long tmp___3 ; |
| 7246 |
Bool tmp___4 ; |
|
7246 |
Bool tmp___4 ; |
| 7247 |
int tmp___5 ; |
|
7247 |
int tmp___5 ; |
| 7248 |
long tmp___6 ; |
|
7248 |
long tmp___6 ; |
| 7249 |
SizeT remains ; |
|
7249 |
SizeT remains ; |
| 7250 |
VgStack *stack ; |
|
7250 |
VgStack *stack ; |
| 7251 |
ThreadState *tmp___7 ; |
|
7251 |
ThreadState *tmp___7 ; |
| 7252 |
SizeT limit ; |
|
7252 |
SizeT limit ; |
| 7253 |
|
|
7253 |
|
| 7254 |
{ |
|
7254 |
{ |
| 7255 |
if (vgPlain_clo_sanity_level < 1) { |
|
7255 |
if (vgPlain_clo_sanity_level < 1) { |
| 7256 |
return; |
|
7256 |
return; |
| 7257 |
} else { |
|
7257 |
} else { |
| 7258 |
|
|
7258 |
|
| 7259 |
} |
|
7259 |
} |
| 7260 |
sanity_fast_count ++; |
|
7260 |
sanity_fast_count ++; |
| 7261 |
if (vgPlain_needs.sanity_checks) { |
|
7261 |
if (vgPlain_needs.sanity_checks) { |
| 7262 |
tmp = __builtin_expect((long )(! (! vgPlain_tdict.tool_cheap_sanity_check)), |
|
7262 |
tmp = __builtin_expect((long )(! (! vgPlain_tdict.tool_cheap_sanity_check)), |
| 7263 |
1L); |
|
7263 |
1L); |
| 7264 |
if (tmp) { |
|
7264 |
if (tmp) { |
| 7265 |
|
|
7265 |
|
| 7266 |
} else { |
|
7266 |
} else { |
| 7267 |
vgPlain_assert_fail((Bool )0, |
|
7267 |
vgPlain_assert_fail((Bool )0, |
| 7268 |
(Char const *)"VG_(tdict).tool_cheap_sanity_check", |
|
7268 |
(Char const *)"VG_(tdict).tool_cheap_sanity_check", |
| 7269 |
(Char const *)"m_scheduler/scheduler.c", 1834, |
|
7269 |
(Char const *)"m_scheduler/scheduler.c", 1834, |
| 7270 |
(Char const *)"vgPlain_sanity_check_general", |
|
7270 |
(Char const *)"vgPlain_sanity_check_general", |
| 7271 |
"you forgot to set VgToolInterface function \'tool_cheap_sanity_check\'"); |
|
7271 |
"you forgot to set VgToolInterface function \'tool_cheap_sanity_check\'"); |
| 7272 |
} |
|
7272 |
} |
| 7273 |
tmp___0 = (*(vgPlain_tdict.tool_cheap_sanity_check))(); |
|
7273 |
tmp___0 = (*(vgPlain_tdict.tool_cheap_sanity_check))(); |
| 7274 |
if (tmp___0) { |
|
7274 |
if (tmp___0) { |
| 7275 |
tmp___1 = 1; |
|
7275 |
tmp___1 = 1; |
| 7276 |
} else { |
|
7276 |
} else { |
| 7277 |
tmp___1 = 0; |
|
7277 |
tmp___1 = 0; |
| 7278 |
} |
|
7278 |
} |
| 7279 |
tmp___2 = __builtin_expect((long )tmp___1, 1L); |
|
7279 |
tmp___2 = __builtin_expect((long )tmp___1, 1L); |
| 7280 |
if (tmp___2) { |
|
7280 |
if (tmp___2) { |
| 7281 |
|
|
7281 |
|
| 7282 |
} else { |
|
7282 |
} else { |
| 7283 |
vgPlain_assert_fail((Bool )1, |
|
7283 |
vgPlain_assert_fail((Bool )1, |
| 7284 |
(Char const *)"VG_TDICT_CALL(tool_cheap_sanity_check)", |
|
7284 |
(Char const *)"VG_TDICT_CALL(tool_cheap_sanity_check)", |
| 7285 |
(Char const *)"m_scheduler/scheduler.c", 1834, |
|
7285 |
(Char const *)"m_scheduler/scheduler.c", 1834, |
| 7286 |
(Char const *)"vgPlain_sanity_check_general", ""); |
|
7286 |
(Char const *)"vgPlain_sanity_check_general", ""); |
| 7287 |
} |
|
7287 |
} |
| 7288 |
} else { |
|
7288 |
} else { |
| 7289 |
|
|
7289 |
|
| 7290 |
} |
|
7290 |
} |
| 7291 |
if (force_expensive) { |
|
7291 |
if (force_expensive) { |
| 7292 |
goto _L; |
|
7292 |
goto _L; |
| 7293 |
} else |
|
7293 |
} else |
| 7294 |
if (vgPlain_clo_sanity_level > 1) { |
|
7294 |
if (vgPlain_clo_sanity_level > 1) { |
| 7295 |
goto _L; |
|
7295 |
goto _L; |
| 7296 |
} else |
|
7296 |
} else |
| 7297 |
if (vgPlain_clo_sanity_level == 1) { |
|
7297 |
if (vgPlain_clo_sanity_level == 1) { |
| 7298 |
if (sanity_fast_count == next_slow_check_at) { |
|
7298 |
if (sanity_fast_count == next_slow_check_at) { |
| 7299 |
_L: |
|
7299 |
_L: |
| 7300 |
next_slow_check_at = (sanity_fast_count - 1U) + slow_check_interval; |
|
7300 |
next_slow_check_at = (sanity_fast_count - 1U) + slow_check_interval; |
| 7301 |
slow_check_interval ++; |
|
7301 |
slow_check_interval ++; |
| 7302 |
sanity_slow_count ++; |
|
7302 |
sanity_slow_count ++; |
| 7303 |
if (vgPlain_needs.sanity_checks) { |
|
7303 |
if (vgPlain_needs.sanity_checks) { |
| 7304 |
tmp___3 = __builtin_expect((long )(! (! vgPlain_tdict.tool_expensive_sanity_check)), |
|
7304 |
tmp___3 = __builtin_expect((long )(! (! vgPlain_tdict.tool_expensive_sanity_check)), |
| 7305 |
1L); |
|
7305 |
1L); |
| 7306 |
if (tmp___3) { |
|
7306 |
if (tmp___3) { |
| 7307 |
|
|
7307 |
|
| 7308 |
} else { |
|
7308 |
} else { |
| 7309 |
vgPlain_assert_fail((Bool )0, |
|
7309 |
vgPlain_assert_fail((Bool )0, |
| 7310 |
(Char const *)"VG_(tdict).tool_expensive_sanity_check", |
|
7310 |
(Char const *)"VG_(tdict).tool_expensive_sanity_check", |
| 7311 |
(Char const *)"m_scheduler/scheduler.c", 1854, |
|
7311 |
(Char const *)"m_scheduler/scheduler.c", 1854, |
| 7312 |
(Char const *)"vgPlain_sanity_check_general", |
|
7312 |
(Char const *)"vgPlain_sanity_check_general", |
| 7313 |
"you forgot to set VgToolInterface function \'tool_expensive_sanity_check\'"); |
|
7313 |
"you forgot to set VgToolInterface function \'tool_expensive_sanity_check\'"); |
| 7314 |
} |
|
7314 |
} |
| 7315 |
tmp___4 = (*(vgPlain_tdict.tool_expensive_sanity_check))(); |
|
7315 |
tmp___4 = (*(vgPlain_tdict.tool_expensive_sanity_check))(); |
| 7316 |
if (tmp___4) { |
|
7316 |
if (tmp___4) { |
| 7317 |
tmp___5 = 1; |
|
7317 |
tmp___5 = 1; |
| 7318 |
} else { |
|
7318 |
} else { |
| 7319 |
tmp___5 = 0; |
|
7319 |
tmp___5 = 0; |
| 7320 |
} |
|
7320 |
} |
| 7321 |
tmp___6 = __builtin_expect((long )tmp___5, 1L); |
|
7321 |
tmp___6 = __builtin_expect((long )tmp___5, 1L); |
| 7322 |
if (tmp___6) { |
|
7322 |
if (tmp___6) { |
| 7323 |
|
|
7323 |
|
| 7324 |
} else { |
|
7324 |
} else { |
| 7325 |
vgPlain_assert_fail((Bool )1, |
|
7325 |
vgPlain_assert_fail((Bool )1, |
| 7326 |
(Char const *)"VG_TDICT_CALL(tool_expensive_sanity_check)", |
|
7326 |
(Char const *)"VG_TDICT_CALL(tool_expensive_sanity_check)", |
| 7327 |
(Char const *)"m_scheduler/scheduler.c", 1854, |
|
7327 |
(Char const *)"m_scheduler/scheduler.c", 1854, |
| 7328 |
(Char const *)"vgPlain_sanity_check_general", ""); |
|
7328 |
(Char const *)"vgPlain_sanity_check_general", ""); |
| 7329 |
} |
|
7329 |
} |
| 7330 |
} else { |
|
7330 |
} else { |
| 7331 |
|
|
7331 |
|
| 7332 |
} |
|
7332 |
} |
| 7333 |
tid = (ThreadId )1; |
|
7333 |
tid = (ThreadId )1; |
| 7334 |
while (tid < 500U) { |
|
7334 |
while (tid < 500U) { |
| 7335 |
if ((unsigned int )vgPlain_threads[tid].status == 0U) { |
|
7335 |
if ((unsigned int )vgPlain_threads[tid].status == 0U) { |
| 7336 |
goto __Cont; |
|
7336 |
goto __Cont; |
| 7337 |
} else |
|
7337 |
} else |
| 7338 |
if ((unsigned int )vgPlain_threads[tid].status == 5U) { |
|
7338 |
if ((unsigned int )vgPlain_threads[tid].status == 5U) { |
| 7339 |
goto __Cont; |
|
7339 |
goto __Cont; |
| 7340 |
} else { |
|
7340 |
} else { |
| 7341 |
|
|
7341 |
|
| 7342 |
} |
|
7342 |
} |
| 7343 |
tmp___7 = vgPlain_get_ThreadState(tid); |
|
7343 |
tmp___7 = vgPlain_get_ThreadState(tid); |
| 7344 |
stack = (VgStack *)tmp___7->os_state.valgrind_stack_base; |
|
7344 |
stack = (VgStack *)tmp___7->os_state.valgrind_stack_base; |
| 7345 |
limit = (SizeT )4096; |
|
7345 |
limit = (SizeT )4096; |
| 7346 |
remains = vgPlain_am_get_VgStack_unused_szB(stack, limit); |
|
7346 |
remains = vgPlain_am_get_VgStack_unused_szB(stack, limit); |
| 7347 |
if (remains < limit) { |
|
7347 |
if (remains < limit) { |
| 7348 |
vgPlain_message((VgMsgKind )2, |
|
7348 |
vgPlain_message((VgMsgKind )2, |
| 7349 |
"WARNING: Thread %d is within %ld bytes of running out of stack!\n", |
|
7349 |
"WARNING: Thread %d is within %ld bytes of running out of stack!\n", |
| 7350 |
tid, remains); |
|
7350 |
tid, remains); |
| 7351 |
} else { |
|
7351 |
} else { |
| 7352 |
|
|
7352 |
|
| 7353 |
} |
|
7353 |
} |
| 7354 |
__Cont: |
|
7354 |
__Cont: |
| 7355 |
tid ++; |
|
7355 |
tid ++; |
| 7356 |
} |
|
7356 |
} |
| 7357 |
} else { |
|
7357 |
} else { |
| 7358 |
|
|
7358 |
|
| 7359 |
} |
|
7359 |
} |
| 7360 |
} else { |
|
7360 |
} else { |
| 7361 |
|
|
7361 |
|
| 7362 |
} |
|
7362 |
} |
| 7363 |
if (vgPlain_clo_sanity_level > 1) { |
|
7363 |
if (vgPlain_clo_sanity_level > 1) { |
| 7364 |
vgPlain_sanity_check_malloc_all(); |
|
7364 |
vgPlain_sanity_check_malloc_all(); |
| 7365 |
} else { |
|
7365 |
} else { |
| 7366 |
|
|
7366 |
|
| 7367 |
} |
|
7367 |
} |
| 7368 |
return; |
|
7368 |
return; |
| 7369 |
} |
|
7369 |
} |
| 7370 |
} |
|
7370 |
} |